Function at 0x446050
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x454
push esi
push edi
mov dword [ebp - 0xc], 0x12345678
push 0x11
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xb0ecf4]
call ecx
movsx edx, ax
xor eax, eax
test edx, edx
setl al
mov dword [ebp - 0x22c], eax
push 0x10
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0xb0ecf4]
call edx
cwde
xor ecx, ecx
test eax, eax
setl cl
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp + 0xc]
and edx, 0x20000000
neg edx
sbb edx, edx
neg edx
mov dword [ebp - 0x230], edx
mov eax, dword [ebp + 0xc]
and eax, 0x80000000
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x224], eax
jne 0x4460e6
cmp dword [ebp - 0x22c], 0
jne 0x4460e6
cmp dword [ebp - 0x18], 0
jne 0x4460e6
cmp dword [ebp - 0x230], 0
jne 0x4460e6
mov dword [ebp - 0x41c], 1
jmp 0x4460f0
mov dword [ebp - 0x41c], 0
mov ecx, dword [ebp - 0x41c]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x224], 0
jne 0x446126
cmp dword [ebp - 0x22c], 0
jne 0x446126
cmp dword [ebp - 0x18], 0
jne 0x446126
cmp dword [ebp - 0x230], 0
je 0x446126
mov dword [ebp - 0x420], 1
jmp 0x446130
mov dword [ebp - 0x420], 0
mov edx, dword [ebp - 0x420]
mov dword [ebp - 8], edx
cmp dword [ebp - 0x224], 0
jne 0x446166
cmp dword [ebp - 0x22c], 0
je 0x446166
cmp dword [ebp - 0x18], 0
jne 0x446166
cmp dword [ebp - 0x230], 0
je 0x446166
mov dword [ebp - 0x424], 1
jmp 0x446170
mov dword [ebp - 0x424], 0
mov eax, dword [ebp - 0x424]
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
and ecx, 0x40000000
neg ecx
sbb ecx, ecx
add ecx, 1
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x210], 0
je 0x4461ce
cmp dword [ebp - 0x10], 0x2d
jne 0x4461ce
cmp dword [ebp - 0x14], 0
je 0x4461ce
cmp dword [ebp - 0x228], 0
je 0x4461ce
mov ecx, dword [ebp - 0xc]
xor edx, edx
cmp dword [ecx + 0xb0eb00], 0
sete dl
mov eax, dword [ebp - 0xc]
mov dword [eax + 0xb0eb00], edx
call fcn.0041f300
test eax, eax
je 0x446deb
cmp dword [ebp - 0x10], 0x51
jne 0x44653c
cmp dword [ebp - 4], 0
je 0x446537
cmp dword [ebp - 0x228], 0
je 0x446537
mov ecx, dword [0x32efa18]
mov edx, dword [ecx + 0xa4]
cmp dword [edx + 4], 0
je 0x446224
mov eax, dword [0x32efa18]
mov ecx, dword [eax + 0xa4]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x428], edx
jmp 0x446238
mov eax, dword [0x32efa18]
mov ecx, dword [eax + 0xa4]
add ecx, 0xc
mov dword [ebp - 0x428], ecx
mov edx, dword [ebp - 0x428]
movzx eax, byte [edx + 0x34]
push eax
call fcn.004477e0
add esp, 4
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0
je 0x446537
mov ecx, dword [0x32efa18]
mov edx, dword [ecx + 0x1ac]
push edx
call fcn.00423dd0
add esp, 4
mov dword [ebp - 0x270], eax
mov eax, dword [0x32efa18]
mov ecx, dword [eax + 0x1b0]
push ecx
call fcn.00423dd0
add esp, 4
mov dword [ebp - 0x250], eax
mov edx, dword [0x32efa18]
mov eax, dword [edx + 0x1b4]
push eax
call fcn.00423dd0
add esp, 4
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0x234]
mov edx, dword [ecx + 0x1ac]
push edx
call fcn.00423dd0
add esp, 4
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 0x1b0]
push ecx
call fcn.00423dd0
add esp, 4
mov dword [ebp - 0x244], eax
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 0x1b4]
push eax
call fcn.00423dd0
add esp, 4
mov dword [ebp - 0x254], eax
mov ecx, dword [ebp - 0x248]
sub ecx, dword [ebp - 0x270]
mov dword [ebp - 0x274], ecx
mov edx, dword [ebp - 0x244]
sub edx, dword [ebp - 0x250]
mov dword [ebp - 0x238], edx
mov eax, dword [ebp - 0x254]
sub eax, dword [ebp - 0x278]
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x274], 0
je 0x446378
cmp dword [ebp - 0x274], 0
jge 0x446357
mov ecx, dword [ebp - 0x274]
neg ecx
mov dword [ebp - 0x42c], ecx
jmp 0x446363
mov edx, dword [ebp - 0x274]
mov dword [ebp - 0x42c], edx
mov eax, dword [ebp - 0x274]
cdq
idiv dword [ebp - 0x42c]
mov dword [ebp - 0x430], eax
jmp 0x446382
mov dword [ebp - 0x430], 0
mov eax, dword [ebp - 0x270]
add eax, dword [ebp - 0x430]
mov dword [ebp - 0x240], eax
cmp dword [ebp - 0x238], 0
je 0x4463d7
cmp dword [ebp - 0x238], 0
jge 0x4463b6
mov ecx, dword [ebp - 0x238]
neg ecx
mov dword [ebp - 0x434], ecx
jmp 0x4463c2
mov edx, dword [ebp - 0x238]
mov dword [ebp - 0x434], edx
mov eax, dword [ebp - 0x238]
cdq
idiv dword [ebp - 0x434]
mov dword [ebp - 0x438], eax
jmp 0x4463e1
mov dword [ebp - 0x438], 0
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x438]
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x24c], 0
je 0x446436
cmp dword [ebp - 0x24c], 0
jge 0x446415
mov ecx, dword [ebp - 0x24c]
neg ecx
mov dword [ebp - 0x43c], ecx
jmp 0x446421
mov edx, dword [ebp - 0x24c]
mov dword [ebp - 0x43c], edx
mov eax, dword [ebp - 0x24c]
cdq
idiv dword [ebp - 0x43c]
mov dword [ebp - 0x440], eax
jmp 0x446440
mov dword [ebp - 0x440], 0
mov eax, dword [ebp - 0x278]
add eax, dword [ebp - 0x440]
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x26c]
push ecx
mov edx, dword [ebp - 0x23c]
push edx
mov eax, dword [ebp - 0x240]
push eax
call fcn.00428370
add esp, 0xc
mov ecx, 0x25
mov word [ebp - 0x268], cx
mov edx, 0x70
mov word [ebp - 0x266], dx
mov eax, 0x2e
mov word [ebp - 0x264], ax
mov ecx, 0x25
mov word [ebp - 0x262], cx
mov edx, 0x70
mov word [ebp - 0x260], dx
mov eax, 0x2e
mov word [ebp - 0x25e], ax
mov ecx, 0x25
mov word [ebp - 0x25c], cx
mov edx, 0x70
mov word [ebp - 0x25a], dx
xor eax, eax
mov word [ebp - 0x258], ax
mov ecx, dword [ebp - 0x26c]
sub ecx, dword [ebp - 0x254]
push ecx
mov edx, dword [ebp - 0x23c]
sub edx, dword [ebp - 0x244]
push edx
mov eax, dword [ebp - 0x240]
sub eax, dword [ebp - 0x248]
push eax
lea ecx, [ebp - 0x268]
push ecx
lea edx, [ebp - 0x220]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xb0ecf8]
call ecx
add esp, 0x14
lea edx, [ebp - 0x220]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x218]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0xb0ed18]
call eax
jmp 0x446de6
cmp dword [ebp - 0x10], 0x54
jne 0x44676d
cmp dword [ebp - 4], 0
je 0x446768
cmp dword [ebp - 0x228], 0
je 0x446768
mov ecx, 0x25
mov word [ebp - 0x2b0], cx
mov edx, 0x70
mov word [ebp - 0x2ae], dx
mov eax, 0x2e
mov word [ebp - 0x2ac], ax
mov ecx, 0x25
mov word [ebp - 0x2aa], cx
mov edx, 0x70
mov word [ebp - 0x2a8], dx
mov eax, 0x2e
mov word [ebp - 0x2a6], ax
mov ecx, 0x25
mov word [ebp - 0x2a4], cx
mov edx, 0x70
mov word [ebp - 0x2a2], dx
mov eax, 0x2e
mov word [ebp - 0x2a0], ax
mov ecx, 0x25
mov word [ebp - 0x29e], cx
mov edx, 0x70
mov word [ebp - 0x29c], dx
mov eax, 0x2e
mov word [ebp - 0x29a], ax
mov ecx, 0x25
mov word [ebp - 0x298], cx
mov edx, 0x70
mov word [ebp - 0x296], dx
mov eax, 0x2e
mov word [ebp - 0x294], ax
mov ecx, 0x25
mov word [ebp - 0x292], cx
mov edx, 0x70
mov word [ebp - 0x290], dx
mov eax, 0x2e
mov word [ebp - 0x28e], ax
mov ecx, 0x25
mov word [ebp - 0x28c], cx
mov edx, 0x70
mov word [ebp - 0x28a], dx
mov eax, 0x2e
mov word [ebp - 0x288], ax
mov ecx, 0x25
mov word [ebp - 0x286], cx
mov edx, 0x70
mov word [ebp - 0x284], dx
mov eax, 0x2e
mov word [ebp - 0x282], ax
mov ecx, 0x25
mov word [ebp - 0x280], cx
mov edx, 0x70
mov word [ebp - 0x27e], dx
xor eax, eax
mov word [ebp - 0x27c], ax
mov ecx, dword [0x32efa18]
mov edx, dword [ecx + 0x1b4]
push edx
call fcn.00423dd0
add esp, 4
push eax
mov eax, dword [0x32efa18]
mov ecx, dword [eax + 0x1b0]
push ecx
call fcn.00423dd0
add esp, 4
push eax
mov edx, dword [0x32efa18]
mov eax, dword [edx + 0x1ac]
push eax
call fcn.00423dd0
add esp, 4
push eax
push 0
push 0xfed80a40
mov ecx, dword [0x321f0f0]
push ecx
call fcn.0041ebb0
add esp, 0xc
mov edx, dword [eax + 0x9c]
push edx
push 0
push 0xfed80a40
mov eax, dword [0x321f0f0]
push eax
call fcn.0041ebb0
add esp, 0xc
mov ecx, dword [eax + 0x98]
push ecx
call fcn.00421e80
push eax
call fcn.0041fa00
push eax
call fcn.0042c860
push eax
call fcn.0041fd80
push eax
lea edx, [ebp - 0x2b0]
push edx
lea eax, [ebp - 0x220]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0xb0ecf8]
call edx
add esp, 0x2c
lea eax, [ebp - 0x220]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x218]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xb0ed18]
call ecx
jmp 0x446de6
cmp dword [ebp - 0x10], 0x59
jne 0x446b73
cmp dword [ebp - 4], 0
je 0x446b6e
cmp dword [ebp - 0x228], 0
je 0x446b6e
mov edx, 0x46
mov word [ebp - 0x2d8], dx
mov eax, 0x69
mov word [ebp - 0x2d6], ax
mov ecx, 0x65
mov word [ebp - 0x2d4], cx
mov edx, 0x6c
mov word [ebp - 0x2d2], dx
mov eax, 0x64
mov word [ebp - 0x2d0], ax
mov ecx, 0x4f
mov word [ebp - 0x2ce], cx
mov edx, 0x62
mov word [ebp - 0x2cc], dx
mov eax, 0x6a
mov word [ebp - 0x2ca], ax
mov ecx, 0x65
mov word [ebp - 0x2c8], cx
mov edx, 0x63
mov word [ebp - 0x2c6], dx
mov eax, 0x74
mov word [ebp - 0x2c4], ax
mov ecx, 0x2e
mov word [ebp - 0x2c2], cx
mov edx, 0x74
mov word [ebp - 0x2c0], dx
mov eax, 0x78
mov word [ebp - 0x2be], ax
mov ecx, 0x74
mov word [ebp - 0x2bc], cx
xor edx, edx
mov word [ebp - 0x2ba], dx
mov eax, 0x77
mov word [ebp - 0x2b8], ax
mov ecx, 0x62
mov word [ebp - 0x2b6], cx
xor edx, edx
mov word [ebp - 0x2b4], dx
lea eax, [ebp - 0x2b8]
push eax
lea ecx, [ebp - 0x2d8]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0xb0ed78]
call eax
add esp, 8
mov dword [ebp - 0x2dc], eax
cmp dword [ebp - 0x2dc], 0
je 0x446b6e
mov ecx, dword [ebp - 0x2dc]
push ecx
push 0xfeff
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0xb0ed84]
call eax
add esp, 8
mov esi, dword [0x321f0f0]
call fcn.0041f2a0
sub eax, 3
neg eax
sbb eax, eax
and eax, 0x10
add eax, 3
mov ecx, dword [esi + eax*4 + 0xa4]
mov edx, dword [ecx + 0x44]
mov esi, dword [edx + 0x90]
mov edi, dword [0x321f0f0]
call fcn.0041f2a0
sub eax, 3
neg eax
sbb eax, eax
and eax, 0x10
add eax, 3
mov eax, dword [edi + eax*4 + 0xa4]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + 0x90]
mov eax, dword [esi + 0x10]
sub eax, dword [edx + 0xc]
shr eax, 2
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2e4], 0
jmp 0x44692f
mov ecx, dword [ebp - 0x2e4]
add ecx, 1
mov dword [ebp - 0x2e4], ecx
mov edx, dword [ebp - 0x2e4]
cmp edx, dword [ebp - 0x2e0]
jge 0x446b59
mov esi, dword [0x321f0f0]
call fcn.0041f2a0
sub eax, 3
neg eax
sbb eax, eax
and eax, 0x10
add eax, 3
mov eax, dword [esi + eax*4 + 0xa4]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + 0x90]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x2e4]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x2e8], edx
mov eax, dword [ebp - 0x2e8]
push eax
call fcn.00423710
add esp, 4
test eax, eax
jne 0x446b54
mov ecx, 0x25
mov word [ebp - 0x31c], cx
mov edx, 0x70
mov word [ebp - 0x31a], dx
mov eax, 0x2e
mov word [ebp - 0x318], ax
mov ecx, 0x5b
mov word [ebp - 0x316], cx
mov edx, 0x25
mov word [ebp - 0x314], dx
mov eax, 0x73
mov word [ebp - 0x312], ax
mov ecx, 0x5d
mov word [ebp - 0x310], cx
mov edx, 0x2e
mov word [ebp - 0x30e], dx
mov eax, 0x25
mov word [ebp - 0x30c], ax
mov ecx, 0x70
mov word [ebp - 0x30a], cx
mov edx, 0x2e
mov word [ebp - 0x308], dx
mov eax, 0x25
mov word [ebp - 0x306], ax
mov ecx, 0x70
mov word [ebp - 0x304], cx
mov edx, 0x2e
mov word [ebp - 0x302], dx
mov eax, 0x25
mov word [ebp - 0x300], ax
mov ecx, 0x70
mov word [ebp - 0x2fe], cx
mov edx, 0x2e
mov word [ebp - 0x2fc], dx
mov eax, 0x25
mov word [ebp - 0x2fa], ax
mov ecx, 0x70
mov word [ebp - 0x2f8], cx
mov edx, 0x2e
mov word [ebp - 0x2f6], dx
mov eax, 0x25
mov word [ebp - 0x2f4], ax
mov ecx, 0x70
mov word [ebp - 0x2f2], cx
mov edx, 0xd
mov word [ebp - 0x2f0], dx
mov eax, 0xa
mov word [ebp - 0x2ee], ax
xor ecx, ecx
mov word [ebp - 0x2ec], cx
mov edx, dword [ebp - 0x2e8]
mov eax, dword [edx + 0x1b4]
push eax
call fcn.00423dd0
add esp, 4
push eax
mov ecx, dword [ebp - 0x2e8]
mov edx, dword [ecx + 0x1b0]
push edx
call fcn.00423dd0
add esp, 4
push eax
mov eax, dword [ebp - 0x2e8]
mov ecx, dword [eax + 0x1ac]
push ecx
call fcn.00423dd0
add esp, 4
push eax
push 0
push 0x40
mov edx, dword [ebp - 0x2e8]
push edx
call fcn.0041ebb0
add esp, 0xc
push eax
mov eax, dword [ebp - 0x2e8]
mov ecx, dword [eax]
push ecx
push 0
push 0x314
mov edx, dword [ebp - 0x2e8]
push edx
call fcn.0041ebb0
add esp, 0xc
push eax
mov eax, dword [ebp - 0x2e8]
push eax
lea ecx, [ebp - 0x31c]
push ecx
mov edx, dword [ebp - 0x2dc]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xb0ed44]
call ecx
add esp, 0x24
jmp 0x446920
mov edx, dword [ebp - 0x2dc]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xb0ed80]
call ecx
add esp, 4
jmp 0x446de6
cmp dword [ebp - 0x10], 0x23
jne 0x446de6
cmp dword [ebp - 4], 0
je 0x446de6
cmp dword [ebp - 0x228], 0
je 0x446de6
mov edx, 0x25
mov word [ebp - 0x34c], dx
mov eax, 0x70
mov word [ebp - 0x34a], ax
mov ecx, 0x2e
mov word [ebp - 0x348], cx
mov edx, 0x25
mov word [ebp - 0x346], dx
mov eax, 0x70
mov word [ebp - 0x344], ax
mov ecx, 0x2e
mov word [ebp - 0x342], cx
mov edx, 0x25
mov word [ebp - 0x340], dx
mov eax, 0x70
mov word [ebp - 0x33e], ax
mov ecx, 0x2e
mov word [ebp - 0x33c], cx
mov edx, 0x25
mov word [ebp - 0x33a], dx
mov eax, 0x70
mov word [ebp - 0x338], ax
mov ecx, 0x2e
mov word [ebp - 0x336], cx
mov edx, 0x25
mov word [ebp - 0x334], dx
mov eax, 0x70
mov word [ebp - 0x332], ax
mov ecx, 0x2e
mov word [ebp - 0x330], cx
mov edx, 0x5b
mov word [ebp - 0x32e], dx
mov eax, 0x25
mov word [ebp - 0x32c], ax
mov ecx, 0x73
mov word [ebp - 0x32a], cx
mov edx, 0x5d
mov word [ebp - 0x328], dx
xor eax, eax
mov word [ebp - 0x326], ax
call fcn.004475e0
mov dword [ebp - 0x350], eax
mov ecx, 0x4e
mov word [ebp - 0x324], cx
mov edx, 0x41
mov word [ebp - 0x322], dx
xor eax, eax
mov word [ebp - 0x320], ax
cmp dword [ebp - 0x350], 0
je 0x446d20
push 0
push 0x2b0
mov ecx, dword [ebp - 0x350]
push ecx
call fcn.0041ebb0
add esp, 0xc
cmp dword [eax + 0x3c], 8
jae 0x446cf3
push 0
push 0x2b0
mov edx, dword [ebp - 0x350]
push edx
call fcn.0041ebb0
add esp, 0xc
add eax, 0x28
mov dword [ebp - 0x444], eax
jmp 0x446d12
push 0
push 0x2b0
mov eax, dword [ebp - 0x350]
push eax
call fcn.0041ebb0
add esp, 0xc
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp - 0x444]
mov dword [ebp - 0x448], edx
jmp 0x446d2c
lea eax, [ebp - 0x324]
mov dword [ebp - 0x448], eax
mov ecx, dword [ebp - 0x448]
push ecx
mov edx, dword [0x32efa18]
mov eax, dword [edx + 0x1b4]
push eax
call fcn.00423dd0
add esp, 4
push eax
mov ecx, dword [0x32efa18]
mov edx, dword [ecx + 0x1b0]
push edx
call fcn.00423dd0
add esp, 4
push eax
mov eax, dword [0x32efa18]
mov ecx, dword [eax + 0x1ac]
push ecx
call fcn.00423dd0
add esp, 4
push eax
push 0
push 0xfed80a40
mov edx, dword [0x321f0f0]
push edx
call fcn.0041ebb0
add esp, 0xc
mov eax, dword [eax + 0x9c]
push eax
push 0
push 0xfed80a40
mov ecx, dword [0x321f0f0]
push ecx
call fcn.0041ebb0
add esp, 0xc
mov edx, dword [eax + 0x98]
push edx
lea eax, [ebp - 0x34c]
push eax
lea ecx, [ebp - 0x220]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0xb0ecf8]
call eax
add esp, 0x20
lea ecx, [ebp - 0x220]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x218]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0xb0ed18]
call edx
jmp 0x4475c6
call fcn.0041f280
test eax, eax
je 0x4475c6
cmp dword [ebp - 0x10], 0x24
jne 0x4471db
cmp dword [ebp - 4], 0
je 0x4471d6
cmp dword [ebp - 0x228], 0
je 0x4471d6
mov eax, 0x53
mov word [ebp - 0x374], ax
mov ecx, 0x6b
mov word [ebp - 0x372], cx
mov edx, 0x69
mov word [ebp - 0x370], dx
mov eax, 0x6c
mov word [ebp - 0x36e], ax
mov ecx, 0x6c
mov word [ebp - 0x36c], cx
mov edx, 0x49
mov word [ebp - 0x36a], dx
mov eax, 0x6e
mov word [ebp - 0x368], ax
mov ecx, 0x66
mov word [ebp - 0x366], cx
mov edx, 0x6f
mov word [ebp - 0x364], dx
mov eax, 0x2e
mov word [ebp - 0x362], ax
mov ecx, 0x74
mov word [ebp - 0x360], cx
mov edx, 0x78
mov word [ebp - 0x35e], dx
mov eax, 0x74
mov word [ebp - 0x35c], ax
xor ecx, ecx
mov word [ebp - 0x35a], cx
mov edx, 0x77
mov word [ebp - 0x358], dx
mov eax, 0x62
mov word [ebp - 0x356], ax
xor ecx, ecx
mov word [ebp - 0x354], cx
lea edx, [ebp - 0x358]
push edx
lea eax, [ebp - 0x374]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0xb0ed78]
call edx
add esp, 8
mov dword [ebp - 0x378], eax
cmp dword [ebp - 0x378], 0
je 0x4471d6
mov eax, dword [ebp - 0x378]
push eax
push 0xfeff
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0xb0ed84]
call edx
add esp, 8
push 0x176
push 1
push 0xfe25b170
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xb0e6ec]
xor ecx, 0x6314f894
mov edx, dword [ecx]
push edx
call fcn.0041ebb0
add esp, 0x10
movzx eax, al
test eax, eax
je 0x4471c1
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0xb0e6ec]
xor edx, 0x6314f894
mov eax, dword [edx]
mov ecx, dword [eax + 0x1e24]
mov edx, dword [ecx]
mov dword [ebp - 0x37c], edx
push 0
mov eax, dword [ebp - 0x37c]
push eax
call fcn.0043c700
add esp, 8
add eax, 0x14
mov dword [ebp - 0x388], eax
push 1
mov ecx, dword [ebp - 0x37c]
push ecx
call fcn.0043c700
add esp, 8
add eax, 0x14
mov dword [ebp - 0x384], eax
mov edx, dword [ebp - 0x37c]
mov eax, dword [edx + 0x20c]
add eax, 0x28
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x38c], 0
jmp 0x446fdc
mov ecx, dword [ebp - 0x38c]
add ecx, 1
mov dword [ebp - 0x38c], ecx
cmp dword [ebp - 0x38c], 3
jae 0x4471c1
mov edx, dword [ebp - 0x38c]
mov eax, dword [ebp + edx*4 - 0x388]
mov dword [ebp - 0x394], eax
mov ecx, dword [ebp - 0x394]
mov edx, dword [ebp - 0x394]
mov eax, dword [ecx + 8]
sub eax, dword [edx + 4]
shr eax, 2
mov dword [ebp - 0x390], eax
mov dword [ebp - 0x398], 0
jmp 0x447032
mov ecx, dword [ebp - 0x398]
add ecx, 1
mov dword [ebp - 0x398], ecx
mov edx, dword [ebp - 0x398]
cmp edx, dword [ebp - 0x390]
jge 0x4471bc
mov eax, dword [ebp - 0x394]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x398]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x39c], eax
cmp dword [ebp - 0x39c], 0
je 0x4471b7
mov ecx, dword [ebp - 0x39c]
mov edx, dword [ecx + 0xf4]
mov dword [ebp - 0x3a0], edx
cmp dword [ebp - 0x3a0], 0
je 0x4471b7
push 9
mov eax, dword [ebp - 0x3a0]
push eax
call fcn.0043c900
add esp, 8
mov dword [ebp - 0x3a4], eax
cmp dword [ebp - 0x3a4], 0
je 0x4471b7
mov ecx, dword [ebp - 0x3a4]
cmp ecx, dword [ebp - 0x3a0]
je 0x4471b7
mov edx, dword [ebp - 0x3a4]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x3a8], eax
cmp dword [ebp - 0x3a8], 0
je 0x4471b7
mov ecx, dword [ebp - 0x3a8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x3ac], edx
cmp dword [ebp - 0x3ac], 0
je 0x4471b7
mov eax, 0x25
mov word [ebp - 0x3c4], ax
mov ecx, 0x73
mov word [ebp - 0x3c2], cx
mov edx, 0x2e
mov word [ebp - 0x3c0], dx
mov eax, 0x25
mov word [ebp - 0x3be], ax
mov ecx, 0x70
mov word [ebp - 0x3bc], cx
mov edx, 0x2e
mov word [ebp - 0x3ba], dx
mov eax, 0x25
mov word [ebp - 0x3b8], ax
mov ecx, 0x64
mov word [ebp - 0x3b6], cx
mov edx, 0xd
mov word [ebp - 0x3b4], dx
mov eax, 0xa
mov word [ebp - 0x3b2], ax
xor ecx, ecx
mov word [ebp - 0x3b0], cx
mov edx, dword [ebp - 0x38c]
push edx
mov eax, dword [ebp - 0x3ac]
add eax, 0x68
push eax
call fcn.00420130
add esp, 4
push eax
mov ecx, dword [ebp - 0x3ac]
mov edx, dword [ecx + 0x70]
push edx
lea eax, [ebp - 0x3c4]
push eax
mov ecx, dword [ebp - 0x378]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0xb0ed44]
call eax
add esp, 0x14
jmp 0x447023
jmp 0x446fcd
mov ecx, dword [ebp - 0x378]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0xb0ed80]
call eax
add esp, 4
jmp 0x4475c6
cmp dword [ebp - 0x10], 0x23
jne 0x447441
cmp dword [ebp - 4], 0
je 0x44743c
cmp dword [ebp - 0x228], 0
je 0x44743c
mov ecx, 0x25
mov word [ebp - 0x3f4], cx
mov edx, 0x70
mov word [ebp - 0x3f2], dx
mov eax, 0x2e
mov word [ebp - 0x3f0], ax
mov ecx, 0x25
mov word [ebp - 0x3ee], cx
mov edx, 0x70
mov word [ebp - 0x3ec], dx
mov eax, 0x2e
mov word [ebp - 0x3ea], ax
mov ecx, 0x25
mov word [ebp - 0x3e8], cx
mov edx, 0x70
mov word [ebp - 0x3e6], dx
mov eax, 0x2e
mov word [ebp - 0x3e4], ax
mov ecx, 0x25
mov word [ebp - 0x3e2], cx
mov edx, 0x70
mov word [ebp - 0x3e0], dx
mov eax, 0x2e
mov word [ebp - 0x3de], ax
mov ecx, 0x25
mov word [ebp - 0x3dc], cx
mov edx, 0x70
mov word [ebp - 0x3da], dx
mov eax, 0x2e
mov word [ebp - 0x3d8], ax
mov ecx, 0x5b
mov word [ebp - 0x3d6], cx
mov edx, 0x25
mov word [ebp - 0x3d4], dx
mov eax, 0x73
mov word [ebp - 0x3d2], ax
mov ecx, 0x5d
mov word [ebp - 0x3d0], cx
xor edx, edx
mov word [ebp - 0x3ce], dx
call fcn.0043bb10
mov dword [ebp - 0x3f8], eax
mov eax, 0x4e
mov word [ebp - 0x3cc], ax
mov ecx, 0x41
mov word [ebp - 0x3ca], cx
xor edx, edx
mov word [ebp - 0x3c8], dx
cmp dword [ebp - 0x3f8], 0
je 0x447388
push 0
push 0x2b0
mov eax, dword [ebp - 0x3f8]
push eax
call fcn.0041ebb0
add esp, 0xc
cmp dword [eax + 0x3c], 8
jae 0x44735b
push 0
push 0x2b0
mov ecx, dword [ebp - 0x3f8]
push ecx
call fcn.0041ebb0
add esp, 0xc
add eax, 0x28
mov dword [ebp - 0x44c], eax
jmp 0x44737a
push 0
push 0x2b0
mov edx, dword [ebp - 0x3f8]
push edx
call fcn.0041ebb0
add esp, 0xc
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x44c], eax
mov ecx, dword [ebp - 0x44c]
mov dword [ebp - 0x450], ecx
jmp 0x447394
lea edx, [ebp - 0x3cc]
mov dword [ebp - 0x450], edx
mov eax, dword [ebp - 0x450]
push eax
mov ecx, dword [0x32efa1c]
mov edx, dword [ecx + 0x1b4]
push edx
call fcn.00423dd0
add esp, 4
push eax
mov eax, dword [0x32efa1c]
mov ecx, dword [eax + 0x1b0]
push ecx
call fcn.00423dd0
add esp, 4
push eax
mov edx, dword [0x32efa1c]
mov eax, dword [edx + 0x1ac]
push eax
call fcn.00423dd0
add esp, 4
push eax
mov ecx, dword [0x321f0f0]
mov edx, dword [ecx + 0xa8]
mov eax, dword [edx + 0x18c]
mov ecx, dword [eax]
push ecx
mov edx, dword [0x321f0f0]
mov eax, dword [edx + 0xa8]
mov ecx, dword [eax + 0x188]
push ecx
lea edx, [ebp - 0x3f4]
push edx
lea eax, [ebp - 0x220]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0xb0ecf8]
call edx
add esp, 0x20
lea eax, [ebp - 0x220]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x218]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xb0ed18]
call ecx
jmp 0x4475c6
cmp dword [ebp - 0x10], 0x30
jl 0x4475c6
cmp dword [ebp - 0x10], 0x39
jg 0x4475c6
cmp dword [ebp - 4], 0
je 0x4475c6
cmp dword [ebp - 0x228], 0
je 0x4475c6
mov edx, dword [ebp - 0x10]
sub edx, 0x30
mov dword [ebp - 0x3fc], edx
mov eax, dword [0x3220764]
mov ecx, dword [0x3220764]
mov eax, dword [eax + 0xc]
sub eax, dword [ecx + 8]
xor edx, edx
mov ecx, 0xc
div ecx
cmp dword [ebp - 0x3fc], eax
jge 0x4475c6
mov edx, dword [0x3220764]
mov eax, dword [ebp - 0x3fc]
imul eax, eax, 0xc
add eax, dword [edx + 8]
mov dword [ebp - 0x400], eax
mov ecx, 0x5b
mov word [ebp - 0x418], cx
mov edx, 0x25
mov word [ebp - 0x416], dx
mov eax, 0x73
mov word [ebp - 0x414], ax
mov ecx, 0x5d
mov word [ebp - 0x412], cx
mov edx, 0x2e
mov word [ebp - 0x410], dx
mov eax, 0x25
mov word [ebp - 0x40e], ax
mov ecx, 0x70
mov word [ebp - 0x40c], cx
mov edx, 0x2e
mov word [ebp - 0x40a], dx
mov eax, 0x25
mov word [ebp - 0x408], ax
mov ecx, 0x70
mov word [ebp - 0x406], cx
xor edx, edx
mov word [ebp - 0x404], dx
mov eax, dword [ebp - 0x400]
mov ecx, dword [eax]
cmp dword [ecx + 0x1c], 8
jae 0x447558
mov edx, dword [ebp - 0x400]
mov eax, dword [edx]
add eax, 8
mov dword [ebp - 0x454], eax
jmp 0x447569
mov ecx, dword [ebp - 0x400]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x400]
add ecx, 4
push ecx
call fcn.00420130
add esp, 4
push eax
mov edx, dword [ebp - 0x400]
mov eax, dword [edx]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x454]
push edx
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0x220]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0xb0ecf8]
call eax
add esp, 0x14
lea ecx, [ebp - 0x220]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x218]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0xb0ed18]
call edx
mov eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret