Function at 0x4250e0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55b9a8
mov eax, dword fs:[0]
push eax
sub esp, 0x430
push esi
mov eax, dword [0x5be9c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x42c], edx
mov dword [ebp - 0x428], ecx
mov eax, dword [ebp + 0x2c]
mov dword [eax + 0x30], 0
mov dword [eax + 0x34], 0
mov ecx, dword [ebp + 0x2c]
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x2c], 0
mov edx, dword [ebp + 0x2c]
mov dword [edx + 0x20], 0
mov dword [edx + 0x24], 0
mov eax, dword [ebp + 0x2c]
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov ecx, dword [ebp + 0x2c]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov edx, dword [ebp + 0x2c]
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0
mov eax, dword [ebp + 0x2c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx + 0x24]
test edx, edx
je 0x4251cc
mov dword [ebp - 0x430], 1
jmp 0x4251e4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x254]
mov dword [ebp - 0x430], edx
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x14], 0
jmp 0x4251ff
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x4c]
jae 0x425341
lea ecx, [ebp - 0x84]
call fcn.00441620
lea ecx, [ebp - 0x5c]
call fcn.0040a490
mov byte [ebp - 4], 1
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x24]
test ecx, ecx
jne 0x4252c3
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov dword [ebp - 0x258], ecx
mov edx, dword [ebp - 0x258]
push edx
lea ecx, [ebp - 0x84]
call fcn.00441770
movzx eax, al
test eax, eax
jne 0x425295
mov dword [ebp - 0x218], str.there_is_no_such_archive
push 0x59f230
lea ecx, [ebp - 0x218]
push ecx
call fcn.004c683a
mov edx, dword [ebp - 0x64]
and edx, 0x10
neg edx
sbb edx, edx
neg edx
movzx eax, dl
test eax, eax
je 0x4252c3
mov dword [ebp - 0x21c], str.cant_decompress_folder
push 0x59f230
lea ecx, [ebp - 0x21c]
push ecx
call fcn.004c683a
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x260], edx
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x25c], eax
lea ecx, [ebp - 0x38]
call fcn.0040fd70
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x260]
mov dword [edx + ecx*8], eax
mov eax, dword [ebp - 0x25c]
mov dword [edx + ecx*8 + 4], eax
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x434], ecx
mov edx, dword [ebp - 0x34]
add edx, 1
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x40]
adc ecx, dword [ebp - 0x80]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x264], edx
mov eax, dword [ebp - 0x264]
push eax
call fcn.004b0c50
add esp, 4
jmp 0x4251f6
mov dword [ebp - 0x20], 0
cmp dword [ebp - 0x4c], 0
je 0x425369
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004b0c15
add esp, 4
mov dword [ebp - 0x268], eax
mov edx, dword [ebp - 0x268]
mov dword [ebp - 0x20], edx
mov byte [ebp - 4], 2
mov dword [ebp - 0x14], 0
jmp 0x42537f
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x4c]
jae 0x425392
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0x14]
mov byte [edx], 0
jmp 0x425376
push 0x1c0
call fcn.004b0c15
add esp, 4
mov dword [ebp - 0x224], eax
mov byte [ebp - 4], 3
cmp dword [ebp - 0x224], 0
je 0x4253c5
mov ecx, dword [ebp - 0x224]
call fcn.00454950
mov dword [ebp - 0x438], eax
jmp 0x4253cf
mov dword [ebp - 0x438], 0
mov eax, dword [ebp - 0x438]
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x48], 0
je 0x425402
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ecx + 4]
call eax
mov byte [ebp - 4], 4
mov ecx, 1
cmp ecx, dword [ebp - 0x4c]
sbb edx, edx
neg edx
mov byte [ebp - 0xd], dl
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x270], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 4]
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x48]
mov dl, byte [ebp - 0xd]
mov byte [ecx + 0x126], dl
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x26c]
mov dword [eax + 0x54], ecx
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x270]
mov dword [edx + 0x58], eax
mov ecx, dword [ebp - 0x48]
mov dword [ecx + 0x188], 0
mov dword [ecx + 0x18c], 0
mov edx, dword [ebp - 0x48]
mov dword [edx + 0x180], 0
mov dword [edx + 0x184], 0
mov eax, dword [ebp - 0x48]
mov dword [eax + 0x178], 0
mov dword [eax + 0x17c], 0
mov ecx, dword [ebp - 0x48]
mov dword [ecx + 0x170], 0
mov dword [ecx + 0x174], 0
mov edx, dword [ebp - 0x48]
mov dword [edx + 0x168], 0
mov dword [edx + 0x16c], 0
mov eax, dword [ebp + 0x24]
push eax
mov ecx, dword [ebp - 0x48]
call fcn.00426300
movzx ecx, byte [ebp - 0xd]
test ecx, ecx
je 0x42556b
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp + 0x20]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [edx + 0xc]
call ecx
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
je 0x42556b
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x228], edx
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1c], 0
je 0x425525
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x27c], ecx
mov edx, dword [ebp - 0x27c]
push edx
call fcn.004b0c50
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x280]
push ecx
call fcn.004b0c50
add esp, 4
mov eax, dword [ebp - 0x228]
jmp 0x4262e0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov byte [ebp - 0x15], 0
mov dword [ebp - 0x14], 0
jmp 0x42558f
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x4c]
jae 0x4260a3
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x14]
movzx edx, byte [ecx]
test edx, edx
je 0x4255aa
jmp 0x425586
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x150], eax
lea ecx, [ebp - 0xd4]
call fcn.00441620
lea ecx, [ebp - 0xac]
call fcn.0040a490
mov byte [ebp - 4], 5
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx + 0x24]
test edx, edx
je 0x425600
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xb4], 0
jmp 0x425658
mov eax, dword [ebp - 0x150]
mov ecx, dword [eax]
mov dword [ebp - 0x284], ecx
mov edx, dword [ebp - 0x284]
push edx
lea ecx, [ebp - 0xd4]
call fcn.00441770
movzx eax, al
test eax, eax
je 0x42563d
mov ecx, dword [ebp - 0xb4]
and ecx, 0x10
neg ecx
sbb ecx, ecx
neg ecx
movzx edx, cl
test edx, edx
je 0x425658
mov dword [ebp - 0x22c], str.there_is_no_such_archive
push 0x59f230
lea eax, [ebp - 0x22c]
push eax
call fcn.004c683a
mov ecx, dword [ebp - 0x150]
mov edx, dword [ecx]
mov dword [ebp - 0x288], edx
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x27]
push ecx
mov edx, dword [ebp - 0x288]
push edx
mov eax, dword [ebp + 0x20]
mov edx, dword [eax]
mov ecx, dword [ebp + 0x20]
mov eax, dword [edx + 0x24]
call eax
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
je 0x42571e
mov ecx, dword [ebp - 0x1b0]
mov dword [ebp - 0x230], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x28c], edx
mov eax, dword [ebp - 0x28c]
push eax
call fcn.004b0c50
add esp, 4
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1c], 0
je 0x4256d8
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x290], edx
mov eax, dword [ebp - 0x290]
push eax
call fcn.004b0c50
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x294], ecx
mov edx, dword [ebp - 0x294]
push edx
call fcn.004b0c50
add esp, 4
mov eax, dword [ebp - 0x230]
jmp 0x4262e0
lea ecx, [ebp - 0x144]
call fcn.0041b390
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x42c]
push eax
lea ecx, [ebp - 0xe0]
call fcn.004270b0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1ac]
call fcn.0041b310
mov byte [ebp - 4], 8
mov ecx, dword [ebp + 0x18]
add ecx, 0x28
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x428]
mov dword [ebp - 0x1ac], edx
lea eax, [ebp - 0xe0]
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp + 0x18]
mov al, byte [edx + 0x24]
mov byte [ebp - 0x168], al
mov dword [ebp - 0x17c], 0
mov ecx, dword [ebp - 0x150]
push ecx
lea ecx, [ebp - 0x164]
call fcn.0040a730
mov edx, dword [ebp + 0x1c]
push edx
lea eax, [ebp - 0x1ac]
push eax
lea ecx, [ebp - 0x144]
call fcn.0043a6e0
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0x80004004
jne 0x425899
mov ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x234], ecx
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x164]
mov dword [ebp - 0x2b4], edx
mov eax, dword [ebp - 0x2b4]
push eax
call fcn.004b0c50
add esp, 4
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xe0]
call fcn.00407e10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x144]
call fcn.0041b510
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0x2d4], ecx
mov edx, dword [ebp - 0x2d4]
push edx
call fcn.004b0c50
add esp, 4
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1c], 0
je 0x425853
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2d8], ecx
mov edx, dword [ebp - 0x2d8]
push edx
call fcn.004b0c50
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2dc], eax
mov ecx, dword [ebp - 0x2dc]
push ecx
call fcn.004b0c50
add esp, 4
mov eax, dword [ebp - 0x234]
jmp 0x4262e0
cmp dword [ebp - 0x14c], 0
jne 0x4258b5
cmp dword [ebp - 0x108], 0
jl 0x4258b5
mov dword [ebp - 0x14c], 1
mov edx, dword [ebp - 0x150]
mov eax, dword [edx]
mov dword [ebp - 0x2e0], eax
mov ecx, dword [ebp - 0x14c]
push ecx
mov edx, dword [ebp - 0x2e0]
push edx
lea eax, [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x428]
push ecx
mov edx, dword [ebp + 0x20]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x20]
mov edx, dword [eax + 0x28]
call edx
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0
je 0x4259c5
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x238], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x2e4], ecx
mov edx, dword [ebp - 0x2e4]
push edx
call fcn.004b0c50
add esp, 4
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xe0]
call fcn.00407e10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x144]
call fcn.0041b510
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x304]
push ecx
call fcn.004b0c50
add esp, 4
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1c], 0
je 0x42597f
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
push edx
mov edx, dword [ecx + 8]
call edx
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x308], eax
mov ecx, dword [ebp - 0x308]
push ecx
call fcn.004b0c50
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x30c], edx
mov eax, dword [ebp - 0x30c]
push eax
call fcn.004b0c50
add esp, 4
mov eax, dword [ebp - 0x238]
jmp 0x4262e0
cmp dword [ebp - 0x14c], 0
je 0x425ad4
mov byte [ebp - 0x15], 1
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx + 0x24]
test edx, edx
jne 0x425a73
lea ecx, [ebp - 0x1ec]
call fcn.00441620
lea ecx, [ebp - 0x1c4]
call fcn.0040a490
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x150]
mov ecx, dword [eax]
mov dword [ebp - 0x310], ecx
mov edx, dword [ebp - 0x310]
push edx
lea ecx, [ebp - 0x1ec]
call fcn.00441770
movzx eax, al
test eax, eax
je 0x425a54
mov ecx, dword [ebp - 0x1cc]
and ecx, 0x10
neg ecx
sbb ecx, ecx
neg ecx
movzx edx, cl
test edx, edx
jne 0x425a54
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x1ec]
mov ecx, dword [ebp - 0x28]
adc ecx, dword [ebp - 0x1e8]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ecx
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x314], edx
mov eax, dword [ebp - 0x314]
push eax
call fcn.004b0c50
add esp, 4
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x318], ecx
mov edx, dword [ebp - 0x318]
push edx
call fcn.004b0c50
add esp, 4
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xe0]
call fcn.00407e10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x144]
call fcn.0041b510
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x338], eax
mov ecx, dword [ebp - 0x338]
push ecx
call fcn.004b0c50
add esp, 4
jmp 0x425586
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x24]
test eax, eax
jne 0x425d18
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x33c], ecx
cmp dword [ebp - 0x33c], 0
je 0x425d18
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0x1f4], edx
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1f8], 0
jmp 0x425b2f
mov ecx, dword [ebp - 0x1f8]
add ecx, 1
mov dword [ebp - 0x1f8], ecx
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0x340], edx
mov eax, dword [ebp - 0x1f8]
cmp eax, dword [ebp - 0x340]
jae 0x425bbf
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x138]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x344], eax
mov edx, dword [ebp - 0x344]
mov ecx, dword [ebp + 0x10]
call fcn.00425050
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0x1fc], 0
jl 0x425bba
mov ecx, dword [ebp - 0x1fc]
cmp ecx, dword [ebp - 0x14]
jbe 0x425bba
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0x1fc]
mov byte [edx], 1
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x1f4]
sub edx, dword [ecx + eax*8]
mov esi, dword [ebp - 0x1f0]
sbb esi, dword [ecx + eax*8 + 4]
mov dword [ebp - 0x1f4], edx
mov dword [ebp - 0x1f0], esi
jmp 0x425b20
mov eax, dword [ebp - 0x1f4]
or eax, dword [ebp - 0x1f0]
je 0x425d18
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x1f4]
mov edx, dword [ebp - 0x40]
adc edx, dword [ebp - 0x1f0]
mov dword [ebp - 0x204], ecx
mov dword [ebp - 0x200], edx
cmp dword [ebp - 0x200], 0
jg 0x425c17
jl 0x425c03
cmp dword [ebp - 0x204], 0
jae 0x425c17
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x200], 0
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x200]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp + 0x20]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [edx + 0xc]
call ecx
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0
je 0x425d18
mov edx, dword [ebp - 0x208]
mov dword [ebp - 0x23c], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x348], eax
mov ecx, dword [ebp - 0x348]
push ecx
call fcn.004b0c50
add esp, 4
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xe0]
call fcn.00407e10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x144]
call fcn.0041b510
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x368], edx
mov eax, dword [ebp - 0x368]
push eax
call fcn.004b0c50
add esp, 4
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1c], 0
je 0x425cd2
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x36c]
push eax
call fcn.004b0c50
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x370], ecx
mov edx, dword [ebp - 0x370]
push edx
call fcn.004b0c50
add esp, 4
mov eax, dword [ebp - 0x23c]
jmp 0x4262e0
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x374], eax
mov ecx, dword [ebp - 0x374]
mov edx, dword [ebp - 0x144]
mov eax, dword [edx + ecx*4 - 4]
mov dword [ebp - 0x378], eax
mov ecx, dword [ebp - 0x378]
mov dword [ebp - 0x148], ecx
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x24]
test eax, eax
jne 0x425d68
movzx ecx, byte [ebp - 0xaf]
test ecx, ecx
jne 0x425d68
mov dword [ebp - 0x43c], 1
jmp 0x425d72
mov dword [ebp - 0x43c], 0
mov edx, dword [ebp - 0x148]
mov al, byte [ebp - 0x43c]
mov byte [edx + 0xa4], al
mov ecx, dword [ebp - 0x148]
mov edx, dword [ebp - 0xbc]
mov dword [ecx + 0x9c], edx
mov eax, dword [ebp - 0xb8]
mov dword [ecx + 0xa0], eax
xor ecx, ecx
cmp dword [ebp + 0x24], 0
setne cl
mov byte [ebp - 0x8d], cl
lea edx, [ebp - 0x9c]
push edx
mov eax, dword [ebp + 0x28]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp + 0x20]
push edx
movzx eax, byte [ebp - 0x8d]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp - 0xd4]
add eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0xd0]
adc ecx, dword [ebp - 0x128]
push ecx
push eax
lea edx, [ebp - 0x144]
mov ecx, dword [ebp - 0x428]
call fcn.004263e0
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0
je 0x425ed8
mov edx, dword [ebp - 0x20c]
mov dword [ebp - 0x240], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x37c], eax
mov ecx, dword [ebp - 0x37c]
push ecx
call fcn.004b0c50
add esp, 4
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xe0]
call fcn.00407e10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x144]
call fcn.0041b510
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x39c], edx
mov eax, dword [ebp - 0x39c]
push eax
call fcn.004b0c50
add esp, 4
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1c], 0
je 0x425e92
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x3a0], edx
mov eax, dword [ebp - 0x3a0]
push eax
call fcn.004b0c50
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x3a4], ecx
mov edx, dword [ebp - 0x3a4]
push edx
call fcn.004b0c50
add esp, 4
mov eax, dword [ebp - 0x240]
jmp 0x4262e0
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x24]
test ecx, ecx
jne 0x425f07
mov edx, dword [ebp - 0xd4]
add edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0xd0]
adc eax, dword [ebp - 0x128]
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x28]
adc edx, dword [ebp - 0x98]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + 0x160]
mov edx, dword [ecx + 0x20]
add edx, dword [ebp - 0x9c]
mov eax, dword [ecx + 0x24]
adc eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ecx + 0x160]
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x24], eax
mov edx, dword [ebp - 0x48]
mov eax, dword [edx + 0x160]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx + 0x180]
mov dword [eax + 0x28], edx
mov ecx, dword [ecx + 0x184]
mov dword [eax + 0x2c], ecx
mov edx, dword [ebp + 0x28]
xor eax, eax
cmp dword [edx + 4], 0
sete al
movzx ecx, al
test ecx, ecx
jne 0x426042
mov dword [ebp - 0x244], 0x80004005
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x164]
mov dword [ebp - 0x3a8], edx
mov eax, dword [ebp - 0x3a8]
push eax
call fcn.004b0c50
add esp, 4
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xe0]
call fcn.00407e10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x144]
call fcn.0041b510
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0x3c8], ecx
mov edx, dword [ebp - 0x3c8]
push edx
call fcn.004b0c50
add esp, 4
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1c], 0
je 0x425ffc
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x3cc], ecx
mov edx, dword [ebp - 0x3cc]
push edx
call fcn.004b0c50
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3d0], eax
mov ecx, dword [ebp - 0x3d0]
push ecx
call fcn.004b0c50
add esp, 4
mov eax, dword [ebp - 0x244]
jmp 0x4262e0
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x164]
mov dword [ebp - 0x3d4], edx
mov eax, dword [ebp - 0x3d4]
push eax
call fcn.004b0c50
add esp, 4
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xe0]
call fcn.00407e10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x144]
call fcn.0041b510
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0x408], ecx
mov edx, dword [ebp - 0x408]
push edx
call fcn.004b0c50
add esp, 4
jmp 0x425586
movzx eax, byte [ebp - 0xd]
test eax, eax
jne 0x4260b7
movzx ecx, byte [ebp - 0x15]
test ecx, ecx
je 0x4261d1
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp + 0x20]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [edx + 0xc]
call ecx
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
je 0x426146
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0x248], edx
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1c], 0
je 0x426100
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x40c], ecx
mov edx, dword [ebp - 0x40c]
push edx
call fcn.004b0c50
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x410], eax
mov ecx, dword [ebp - 0x410]
push ecx
call fcn.004b0c50
add esp, 4
mov eax, dword [ebp - 0x248]
jmp 0x4262e0
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ecx + 0x10]
call eax
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0
je 0x4261d1
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x24c], ecx
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1c], 0
je 0x42618b
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
push edx
mov edx, dword [ecx + 8]
call edx
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x414], eax
mov ecx, dword [ebp - 0x414]
push ecx
call fcn.004b0c50
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x418], edx
mov eax, dword [ebp - 0x418]
push eax
call fcn.004b0c50
add esp, 4
mov eax, dword [ebp - 0x24c]
jmp 0x4262e0
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp - 0x48]
mov eax, dword [edx + 0x168]
mov dword [ecx + 0x20], eax
mov edx, dword [edx + 0x16c]
mov dword [ecx + 0x24], edx
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx + 0x170]
mov dword [eax + 0x28], edx
mov ecx, dword [ecx + 0x174]
mov dword [eax + 0x2c], ecx
mov edx, dword [ebp + 0x2c]
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + 0x178]
mov dword [edx + 0x30], ecx
mov eax, dword [eax + 0x17c]
mov dword [edx + 0x34], eax
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp - 0x48]
mov eax, dword [edx + 0x180]
mov dword [ecx + 8], eax
mov edx, dword [edx + 0x184]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx + 0x188]
mov dword [eax + 0x10], edx
mov ecx, dword [ecx + 0x18c]
mov dword [eax + 0x14], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov dword [ebp - 0x41c], eax
mov ecx, dword [ebp - 0x41c]
xor edx, edx
mov eax, dword [ebp + 0x2c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx + 0x160]
mov eax, dword [ebp + 0x2c]
mov ecx, dword [edx + 0x20]
mov dword [eax + 0x18], ecx
mov edx, dword [edx + 0x24]
mov dword [eax + 0x1c], edx
mov dword [ebp - 0x250], 0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1c], 0
je 0x42629f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x420], ecx
mov edx, dword [ebp - 0x420]
push edx
call fcn.004b0c50
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x424], eax
mov ecx, dword [ebp - 0x424]
push ecx
call fcn.004b0c50
add esp, 4
mov eax, dword [ebp - 0x250]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 0x28