Function at 0x418e80
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5330df
mov eax, dword fs:[0]
push eax
sub esp, 0x18c
push ebx
push esi
push edi
mov eax, dword [0x58ab78]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 0x30]
call fcn.00418810
xor edi, edi
mov dword [ebp - 0x44], 0
xor ebx, ebx
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp + 0x20]
xor esi, esi
mov dword [ebp - 4], ebx
mov dword [ebp - 0x2c], esi
cmp byte [eax + 0x24], bl
je 0x418eeb
mov dword [ebp - 0x30], 1
jmp 0x418f00
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x419014
lea esp, [esp]
lea ecx, [ebp - 0xfc]
call fcn.0041e0b0
lea ecx, [ebp - 0xd4]
call fcn.00404940
xor eax, eax
mov byte [ebp - 4], 1
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0xf8], ecx
cmp byte [eax + 0x24], cl
jne 0x418f78
mov eax, dword [ebp + 0x14]
lea ecx, [ebp - 0xfc]
mov eax, dword [eax]
mov eax, dword [eax + esi*4]
push dword [eax]
call fcn.0041e220
test al, al
je 0x41908b
mov eax, dword [ebp - 0xdc]
shr eax, 4
test al, 1
jne 0x419076
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x28], eax
cmp edi, ebx
jne 0x418fc7
mov eax, ebx
xor ecx, ecx
shr eax, 2
mov edx, 8
inc eax
add ebx, eax
mov eax, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0047d491
lea ecx, [edi*8]
mov esi, eax
push ecx
push dword [ebp - 0x3c]
push esi
call fcn.004a0000
push dword [ebp - 0x3c]
call fcn.0047d4a0
mov ecx, esi
mov dword [ebp - 0x34], ebx
mov esi, dword [ebp - 0x2c]
add esp, 0x14
mov dword [ebp - 0x3c], ecx
jmp 0x418fca
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
mov dword [ecx + edi*8], eax
mov eax, dword [ebp - 0x14]
mov dword [ecx + edi*8 + 4], eax
inc edi
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0xfc]
push dword [ebp - 0xd4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
adc eax, dword [ebp - 0xf8]
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 0
call fcn.0047d4a0
mov eax, dword [ebp - 0x30]
inc esi
add esp, 4
mov dword [ebp - 0x2c], esi
cmp esi, eax
jb 0x418f00
xor esi, esi
mov dword [ebp - 0x10c], esi
test eax, eax
je 0x419034
push eax
call fcn.0047d491
mov esi, eax
add esp, 4
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x10c], esi
mov byte [ebp - 4], 2
test eax, eax
je 0x419050
mov ecx, eax
mov edi, esi
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
push 0x128
call fcn.0047d464
add esp, 4
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x4190a0
mov ecx, eax
call fcn.00415900
mov ebx, eax
mov dword [ebp - 0x14], eax
jmp 0x4190a5
push 0x570da8
lea eax, [ebp + 0x20]
mov dword [ebp + 0x20], str.cant_decompress_folder
push eax
call fcn.004a06b8
push 0x570da8
lea eax, [ebp + 0x20]
mov dword [ebp + 0x20], str.there_is_no_such_archive
push eax
call fcn.004a06b8
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov byte [ebp - 4], 2
mov dword [ebp - 0x110], ebx
test ebx, ebx
je 0x4190b9
mov eax, dword [ebx]
push ebx
call dword [eax + 4]
cmp dword [ebp - 0x30], 1
mov edi, dword [ebp + 0x20]
seta dl
mov byte [ebp - 4], 4
mov byte [ebp - 0x45], dl
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
mov byte [ebx + 0xca], dl
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], ecx
mov dword [ebx + 0x120], 0
mov dword [ebx + 0x124], 0
mov dword [ebx + 0x118], 0
mov dword [ebx + 0x11c], 0
mov dword [ebx + 0x110], 0
mov dword [ebx + 0x114], 0
mov dword [ebx + 0x108], 0
mov dword [ebx + 0x10c], 0
mov dword [ebx + 0x100], 0
mov dword [ebx + 0x104], 0
test dl, dl
je 0x41918b
mov ecx, dword [ebp + 0x28]
push dword [ebp - 0x4c]
push dword [ebp - 0x44]
mov eax, dword [ecx]
push ecx
call dword [eax + 0xc]
mov edi, eax
test edi, edi
je 0x419188
mov ecx, dword [ebx]
push ebx
mov byte [ebp - 4], 2
call dword [ecx + 8]
push esi
call fcn.0047d4a0
push dword [ebp - 0x3c]
call fcn.0047d4a0
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x20]
xor ecx, ecx
mov dword [ebp - 0xb4], 0
xor al, al
mov dword [ebp - 0xb0], 0
mov byte [ebp - 0x21], al
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x30], ecx
jbe 0x41a2b6
mov ebx, dword [ebp - 0x30]
cmp byte [esi + ecx], 0
jne 0x419975
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
mov ebx, dword [eax + ecx*4]
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0xc4], ebx
call fcn.0041e0b0
lea ecx, [ebp - 0xd4]
call fcn.00404940
cmp byte [edi + 0x24], 0
mov byte [ebp - 4], 5
je 0x41920d
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xdc], 0
jmp 0x419233
push dword [ebx]
lea ecx, [ebp - 0xfc]
call fcn.0041e220
test al, al
je 0x41908b
mov eax, dword [ebp - 0xdc]
shr eax, 4
test al, 1
jne 0x41908b
mov ecx, dword [ebp + 0x24]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [ebp + 0x28]
push dword [ebx]
mov eax, dword [ecx]
call dword [eax + 0x24]
mov edi, eax
test edi, edi
jne 0x41a290
lea ecx, [ebp - 0xac]
call fcn.00418480
push dword [ebp + 0xc]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 6
call fcn.004183a0
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 7
call fcn.00418560
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x160], eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp + 0x20]
push ebx
mov byte [ebp - 4], 8
mov dword [ebp - 0x130], edi
mov al, byte [eax + 0x24]
mov byte [ebp - 0x120], al
call fcn.004049a0
mov edi, dword [ebp + 0x24]
lea eax, [ebp - 0x160]
push edi
push eax
lea ecx, [ebp - 0xac]
call fcn.0041c3d0
mov ebx, eax
mov dword [ebp - 0x28], eax
cmp ebx, 0x80004004
je 0x41a15e
mov edx, dword [edi]
mov ecx, edi
mov edx, dword [edx + 0x14]
call edx
cmp dword [ebp - 0x70], 0
mov byte [ebp - 0x108], al
jl 0x4192f9
mov ebx, 1
mov dword [ebp - 0x28], ebx
mov edx, dword [ebp + 0x28]
push dword [ebp - 0x108]
mov ecx, dword [ebp - 0xc4]
push ebx
mov eax, dword [edx]
push dword [ecx]
mov ecx, edx
call dword [eax + 0x28]
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x41a037
mov edx, dword [ebp - 0xa8]
xor edi, edi
test edx, edx
je 0x4193b1
lea ecx, [ecx]
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + edi*4]
mov ebx, dword [ecx + 0x14]
test ebx, ebx
jne 0x419361
cmp dword [ecx + 0x18], ebx
jne 0x419361
cmp byte [ecx + 0x12], bl
jne 0x41934f
cmp byte [ecx + 0x10], bl
jne 0x419361
cmp byte [ecx + 0x11], 0
jne 0x419361
cmp dword [ecx + 0x2c], 0
jne 0x419361
cmp dword [ecx + 0x38], 0
je 0x4193a9
cmp byte [ecx + 0x12], 0
mov edx, dword [ecx + 0x18]
jne 0x419378
cmp byte [ecx + 0x10], 0
je 0x419378
test bl, 0x40
jne 0x419378
or edx, 0x40
cmp byte [ecx + 0x11], 0
je 0x419381
or ebx, 0x20
push dword [ecx + 0x34]
mov eax, dword [ebp + 0x28]
push edx
push dword [ecx + 0x28]
mov eax, dword [eax]
push ebx
push dword [ecx + 0x70]
mov ecx, dword [ebp + 0x28]
push edi
call dword [eax + 0x2c]
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x419989
mov edx, dword [ebp - 0xa8]
inc edi
cmp edi, edx
jb 0x419330
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebp + 0x20]
test ebx, ebx
je 0x419507
cmp byte [eax + 0x24], 0
mov byte [ebp - 0x21], 1
jne 0x41942a
lea ecx, [ebp - 0x198]
call fcn.0041e0b0
lea ecx, [ebp - 0x170]
call fcn.00404940
mov eax, dword [ebp - 0xc4]
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0x18
push dword [eax]
call fcn.0041e220
test al, al
je 0x41941c
mov eax, dword [ebp - 0x178]
shr eax, 4
test al, 1
jne 0x41941c
mov eax, dword [ebp - 0x198]
add dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x194]
adc dword [ebp - 0xb0], eax
push dword [ebp - 0x170]
call fcn.0047d4a0
add esp, 4
push dword [ebp - 0x11c]
call fcn.0047d4a0
mov edi, dword [ebp - 0x1c]
add esp, 4
test edi, edi
je 0x419453
nop
mov eax, dword [ebp - 0x20]
dec edi
push dword [eax + edi*4]
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x419440
push dword [ebp - 0x20]
call fcn.0047d4a0
add esp, 4
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x1c
call fcn.0041dc10
push dword [ebp - 0x58]
call fcn.0047d4a0
push dword [ebp - 0x64]
call fcn.0047d4a0
push dword [ebp - 0x88]
call fcn.0047d4a0
mov edi, dword [ebp - 0x9c]
add esp, 0xc
test edi, edi
je 0x4194b7
mov eax, dword [ebp - 0xa0]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x4194b3
push dword [ebx]
call fcn.0047d4a0
push ebx
call fcn.0047d4a0
add esp, 8
test edi, edi
jne 0x419495
push dword [ebp - 0xa0]
call fcn.0047d4a0
lea eax, [ebp - 0xac]
add esp, 4
mov dword [ebp - 0x10], eax
mov edi, dword [ebp - 0xa8]
mov byte [ebp - 4], 0x1d
test edi, edi
je 0x419952
mov eax, dword [ebp - 0xac]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x4194fe
mov ecx, ebx
call fcn.004186a0
push ebx
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x4194e0
jmp 0x419952
cmp byte [eax + 0x24], 0
jne 0x419697
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x419697
mov ecx, dword [ebp - 0x90]
xor edi, edi
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0x28], ecx
test eax, eax
je 0x41956e
mov eax, dword [ebp - 0xa0]
push dword [eax + edi*4]
push dword [ebp + 0x18]
call fcn.0041a3a0
mov ecx, dword [ebp - 0x28]
add esp, 8
test eax, eax
js 0x419565
cmp eax, dword [ebp - 0x2c]
jbe 0x419565
mov edx, dword [ebp - 0x3c]
mov byte [eax + esi], 1
sub ebx, dword [edx + eax*8]
sbb ecx, dword [edx + eax*8 + 4]
mov dword [ebp - 0x28], ecx
inc edi
cmp edi, dword [ebp - 0x9c]
jb 0x419534
mov eax, ebx
or eax, ecx
je 0x419697
add ebx, dword [ebp - 0x44]
mov edx, ebx
adc ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x4c], ecx
test ecx, ecx
jg 0x41959a
jl 0x419590
test edx, edx
jae 0x41959a
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x4c], ecx
mov ebx, dword [ebp + 0x28]
push ecx
push edx
push ebx
mov eax, dword [ebx]
call dword [eax + 0xc]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x41969a
push dword [ebp - 0x11c]
call fcn.0047d4a0
mov edi, dword [ebp - 0x1c]
add esp, 4
test edi, edi
je 0x4195d8
mov eax, dword [ebp - 0x20]
dec edi
push dword [eax + edi*4]
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x4195c5
push dword [ebp - 0x20]
call fcn.0047d4a0
add esp, 4
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x21
call fcn.0041dc10
push dword [ebp - 0x58]
call fcn.0047d4a0
push dword [ebp - 0x64]
call fcn.0047d4a0
push dword [ebp - 0x88]
call fcn.0047d4a0
mov edi, dword [ebp - 0x9c]
add esp, 0xc
test edi, edi
je 0x419642
lea ebx, [ebx]
mov eax, dword [ebp - 0xa0]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x41963e
push dword [ebx]
call fcn.0047d4a0
push ebx
call fcn.0047d4a0
add esp, 8
test edi, edi
jne 0x419620
push dword [ebp - 0xa0]
call fcn.0047d4a0
lea eax, [ebp - 0xac]
add esp, 4
mov dword [ebp + 0x20], eax
mov edi, dword [ebp - 0xa8]
mov byte [ebp - 4], 0x22
test edi, edi
je 0x41a112
jmp 0x419670
mov eax, dword [ebp - 0xac]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x41968e
mov ecx, ebx
call fcn.004186a0
push ebx
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x419670
jmp 0x41a112
mov ebx, dword [ebp + 0x28]
lea ecx, [ebp - 0xc0]
call fcn.00404940
mov ecx, dword [ebp + 0x24]
lea edx, [ebp - 0xc0]
push edx
lea edx, [ebp - 0x3d]
mov byte [ebp - 4], 0x23
push edx
mov eax, dword [ecx]
call dword [eax + 0x10]
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x419f47
cmp byte [ebp - 0x3d], al
je 0x4196e5
mov eax, dword [ebx]
lea ecx, [ebp - 0xc0]
push ecx
mov ecx, ebx
call dword [eax + 0x3c]
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x419a67
xor ebx, ebx
cmp dword [ebp - 0xa8], ebx
jbe 0x419764
nop
mov eax, dword [ebp - 0xac]
mov edi, dword [eax + ebx*4]
mov eax, dword [edi + 0x1c]
test eax, eax
js 0x41973e
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 8]
mov eax, dword [ecx + eax*4]
mov edx, dword [eax + 0xc]
mov eax, dword [edi + 0x94]
test eax, eax
jns 0x41971d
mov ecx, 0x5465a0
jmp 0x419723
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp + 0x28]
push edx
push ecx
push dword [edi + 0x70]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x28]
call dword [eax + 0x38]
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x419b57
cmp dword [edi + 0x2c], 0
je 0x41975b
mov ecx, dword [ebp + 0x28]
push dword [edi + 0x28]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x419c47
inc ebx
cmp ebx, dword [ebp - 0xa8]
jb 0x4196f0
mov edi, dword [ebp + 0x20]
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
cmp byte [edi + 0x24], 0
mov ecx, dword [eax + ecx*4 - 4]
jne 0x41978d
cmp byte [ebp - 0xd7], 0
jne 0x41978d
mov eax, 1
jmp 0x41978f
xor eax, eax
mov ebx, dword [ebp - 0x14]
mov byte [ecx + 0xa4], al
mov eax, dword [ebp - 0xe4]
mov dword [ecx + 0x9c], eax
mov eax, dword [ebp - 0xe0]
mov dword [ecx + 0xa0], eax
lea eax, [ebp - 0x104]
mov ecx, dword [ebp - 0x94]
add ecx, dword [ebp - 0xfc]
push eax
push dword [ebp + 0x2c]
mov eax, dword [ebp - 0x90]
adc eax, dword [ebp - 0xf8]
push ebx
push dword [ebp + 0x28]
push 0
push edi
push dword [ebp + 0x1c]
push eax
push ecx
lea eax, [ebp - 0xac]
push eax
push dword [ebp + 8]
call fcn.00418930
add esp, 0x2c
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x419e60
cmp byte [edi + 0x24], al
jne 0x419826
mov ecx, dword [ebp - 0x94]
add ecx, dword [ebp - 0xfc]
mov edx, dword [ebp - 0x90]
adc edx, dword [ebp - 0xf8]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x100], edx
jmp 0x419832
mov edx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x104]
add dword [ebp - 0xb4], ecx
adc dword [ebp - 0xb0], edx
mov eax, dword [ebx + 0xf8]
add dword [eax + 0x20], ecx
adc dword [eax + 0x24], edx
mov ecx, dword [ebx + 0xf8]
mov eax, dword [ebx + 0x118]
mov dword [ecx + 0x28], eax
mov eax, dword [ebx + 0x11c]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp + 0x2c]
push dword [ebp - 0xc0]
cmp dword [eax + 4], 0
jne 0x419d37
call fcn.0047d4a0
push dword [ebp - 0x11c]
call fcn.0047d4a0
mov edi, dword [ebp - 0x1c]
add esp, 8
test edi, edi
je 0x4198a3
nop
mov eax, dword [ebp - 0x20]
dec edi
push dword [eax + edi*4]
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x419890
push dword [ebp - 0x20]
call fcn.0047d4a0
add esp, 4
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x45
call fcn.0041dc10
push dword [ebp - 0x58]
call fcn.0047d4a0
push dword [ebp - 0x64]
call fcn.0047d4a0
push dword [ebp - 0x88]
call fcn.0047d4a0
mov edi, dword [ebp - 0x9c]
add esp, 0xc
test edi, edi
je 0x419907
mov eax, dword [ebp - 0xa0]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x419903
push dword [ebx]
call fcn.0047d4a0
push ebx
call fcn.0047d4a0
add esp, 8
test edi, edi
jne 0x4198e5
push dword [ebp - 0xa0]
call fcn.0047d4a0
lea eax, [ebp - 0xac]
add esp, 4
mov dword [ebp - 0x10], eax
mov edi, dword [ebp - 0xa8]
mov byte [ebp - 4], 0x46
test edi, edi
je 0x419952
lea esp, [esp]
mov eax, dword [ebp - 0xac]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x41994e
mov ecx, ebx
call fcn.004186a0
push ebx
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x419930
push dword [ebp - 0xac]
call fcn.0047d4a0
push dword [ebp - 0xd4]
mov byte [ebp - 4], 4
call fcn.0047d4a0
mov ebx, dword [ebp - 0x30]
add esp, 8
mov ecx, dword [ebp - 0x2c]
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, ebx
jae 0x41a2b0
mov edi, dword [ebp + 0x20]
jmp 0x4191b5
push dword [ebp - 0x11c]
call fcn.0047d4a0
mov edi, dword [ebp - 0x1c]
add esp, 4
test edi, edi
je 0x4199b3
mov edi, edi
mov eax, dword [ebp - 0x20]
dec edi
push dword [eax + edi*4]
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x4199a0
push dword [ebp - 0x20]
call fcn.0047d4a0
add esp, 4
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x16
call fcn.0041dc10
push dword [ebp - 0x58]
call fcn.0047d4a0
push dword [ebp - 0x64]
call fcn.0047d4a0
push dword [ebp - 0x88]
call fcn.0047d4a0
mov edi, dword [ebp - 0x9c]
add esp, 0xc
test edi, edi
je 0x419a17
mov eax, dword [ebp - 0xa0]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x419a13
push dword [ebx]
call fcn.0047d4a0
push ebx
call fcn.0047d4a0
add esp, 8
test edi, edi
jne 0x4199f5
push dword [ebp - 0xa0]
call fcn.0047d4a0
lea eax, [ebp - 0xac]
add esp, 4
mov dword [ebp + 0x20], eax
mov edi, dword [ebp - 0xa8]
mov byte [ebp - 4], 0x17
test edi, edi
je 0x41a112
mov eax, dword [ebp - 0xac]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x419a5e
mov ecx, ebx
call fcn.004186a0
push ebx
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x419a40
jmp 0x41a112
push dword [ebp - 0xc0]
call fcn.0047d4a0
push dword [ebp - 0x11c]
call fcn.0047d4a0
mov edi, dword [ebp - 0x1c]
add esp, 8
test edi, edi
je 0x419a9a
mov eax, dword [ebp - 0x20]
dec edi
push dword [eax + edi*4]
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x419a87
push dword [ebp - 0x20]
call fcn.0047d4a0
add esp, 4
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x2c
call fcn.0041dc10
push dword [ebp - 0x58]
call fcn.0047d4a0
push dword [ebp - 0x64]
call fcn.0047d4a0
push dword [ebp - 0x88]
call fcn.0047d4a0
mov edi, dword [ebp - 0x9c]
add esp, 0xc
test edi, edi
je 0x419b02
lea esp, [esp]
mov eax, dword [ebp - 0xa0]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x419afe
push dword [ebx]
call fcn.0047d4a0
push ebx
call fcn.0047d4a0
add esp, 8
test edi, edi
jne 0x419ae0
push dword [ebp - 0xa0]
call fcn.0047d4a0
lea eax, [ebp - 0xac]
add esp, 4
mov dword [ebp + 0x20], eax
mov edi, dword [ebp - 0xa8]
mov byte [ebp - 4], 0x2d
test edi, edi
je 0x41a112
jmp 0x419b30
mov eax, dword [ebp - 0xac]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x419b4e
mov ecx, ebx
call fcn.004186a0
push ebx
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x419b30
jmp 0x41a112
push dword [ebp - 0xc0]
call fcn.0047d4a0
push dword [ebp - 0x11c]
call fcn.0047d4a0
mov edi, dword [ebp - 0x1c]
add esp, 8
test edi, edi
je 0x419b8a
mov eax, dword [ebp - 0x20]
dec edi
push dword [eax + edi*4]
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x419b77
push dword [ebp - 0x20]
call fcn.0047d4a0
add esp, 4
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x31
call fcn.0041dc10
push dword [ebp - 0x58]
call fcn.0047d4a0
push dword [ebp - 0x64]
call fcn.0047d4a0
push dword [ebp - 0x88]
call fcn.0047d4a0
mov edi, dword [ebp - 0x9c]
add esp, 0xc
test edi, edi
je 0x419bf2
lea esp, [esp]
mov eax, dword [ebp - 0xa0]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x419bee
push dword [ebx]
call fcn.0047d4a0
push ebx
call fcn.0047d4a0
add esp, 8
test edi, edi
jne 0x419bd0
push dword [ebp - 0xa0]
call fcn.0047d4a0
lea eax, [ebp - 0xac]
add esp, 4
mov dword [ebp + 0x20], eax
mov edi, dword [ebp - 0xa8]
mov byte [ebp - 4], 0x32
test edi, edi
je 0x41a112
jmp 0x419c20
mov eax, dword [ebp - 0xac]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x419c3e
mov ecx, ebx
call fcn.004186a0
push ebx
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x419c20
jmp 0x41a112
push dword [ebp - 0xc0]
call fcn.0047d4a0
push dword [ebp - 0x11c]
call fcn.0047d4a0
mov edi, dword [ebp - 0x1c]
add esp, 8
test edi, edi
je 0x419c7a
mov eax, dword [ebp - 0x20]
dec edi
push dword [eax + edi*4]
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x419c67
push dword [ebp - 0x20]
call fcn.0047d4a0
add esp, 4
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x36
call fcn.0041dc10
push dword [ebp - 0x58]
call fcn.0047d4a0
push dword [ebp - 0x64]
call fcn.0047d4a0
push dword [ebp - 0x88]
call fcn.0047d4a0
mov edi, dword [ebp - 0x9c]
add esp, 0xc
test edi, edi
je 0x419ce2
lea esp, [esp]
mov eax, dword [ebp - 0xa0]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x419cde
push dword [ebx]
call fcn.0047d4a0
push ebx
call fcn.0047d4a0
add esp, 8
test edi, edi
jne 0x419cc0
push dword [ebp - 0xa0]
call fcn.0047d4a0
lea eax, [ebp - 0xac]
add esp, 4
mov dword [ebp + 0x20], eax
mov edi, dword [ebp - 0xa8]
mov byte [ebp - 4], 0x37
test edi, edi
je 0x41a112
jmp 0x419d10
mov eax, dword [ebp - 0xac]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x419d2e
mov ecx, ebx
call fcn.004186a0
push ebx
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x419d10
jmp 0x41a112
call fcn.0047d4a0
push dword [ebp - 0x11c]
call fcn.0047d4a0
mov edi, dword [ebp - 0x1c]
add esp, 8
test edi, edi
je 0x419d64
mov eax, dword [ebp - 0x20]
dec edi
push dword [eax + edi*4]
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x419d51
push dword [ebp - 0x20]
call fcn.0047d4a0
add esp, 4
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x40
call fcn.0041dc10
push dword [ebp - 0x58]
call fcn.0047d4a0
push dword [ebp - 0x64]
call fcn.0047d4a0
push dword [ebp - 0x88]
call fcn.0047d4a0
mov edi, dword [ebp - 0x9c]
add esp, 0xc
test edi, edi
je 0x419dc8
mov eax, dword [ebp - 0xa0]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x419dc4
push dword [ebx]
call fcn.0047d4a0
push ebx
call fcn.0047d4a0
add esp, 8
test edi, edi
jne 0x419da6
push dword [ebp - 0xa0]
call fcn.0047d4a0
lea eax, [ebp - 0xac]
add esp, 4
mov dword [ebp + 0x20], eax
mov edi, dword [ebp - 0xa8]
mov byte [ebp - 4], 0x41
test edi, edi
je 0x419e12
lea ecx, [ecx]
mov eax, dword [ebp - 0xac]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x419e0e
mov ecx, ebx
call fcn.004186a0
push ebx
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x419df0
push dword [ebp - 0xac]
call fcn.0047d4a0
push dword [ebp - 0xd4]
call fcn.0047d4a0
mov ecx, dword [ebp - 0x14]
add esp, 8
mov byte [ebp - 4], 2
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push esi
call fcn.0047d4a0
push dword [ebp - 0x3c]
call fcn.0047d4a0
add esp, 8
mov eax, 0x80004005
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 0xc0]
call fcn.0047d4a0
push dword [ebp - 0x11c]
call fcn.0047d4a0
mov edi, dword [ebp - 0x1c]
add esp, 8
test edi, edi
je 0x419e93
mov eax, dword [ebp - 0x20]
dec edi
push dword [eax + edi*4]
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x419e80
push dword [ebp - 0x20]
call fcn.0047d4a0
add esp, 4
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x3b
call fcn.0041dc10
push dword [ebp - 0x58]
call fcn.0047d4a0
push dword [ebp - 0x64]
call fcn.0047d4a0
push dword [ebp - 0x88]
call fcn.0047d4a0
mov edi, dword [ebp - 0x9c]
add esp, 0xc
test edi, edi
je 0x419ef7
mov eax, dword [ebp - 0xa0]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x419ef3
push dword [ebx]
call fcn.0047d4a0
push ebx
call fcn.0047d4a0
add esp, 8
test edi, edi
jne 0x419ed5
push dword [ebp - 0xa0]
call fcn.0047d4a0
lea eax, [ebp - 0xac]
add esp, 4
mov dword [ebp + 0x20], eax
mov edi, dword [ebp - 0xa8]
mov byte [ebp - 4], 0x3c
test edi, edi
je 0x41a112
mov eax, dword [ebp - 0xac]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x419f3e
mov ecx, ebx
call fcn.004186a0
push ebx
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x419f20
jmp 0x41a112
push dword [ebp - 0xc0]
call fcn.0047d4a0
push dword [ebp - 0x11c]
call fcn.0047d4a0
mov edi, dword [ebp - 0x1c]
add esp, 8
test edi, edi
je 0x419f7a
mov eax, dword [ebp - 0x20]
dec edi
push dword [eax + edi*4]
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x419f67
push dword [ebp - 0x20]
call fcn.0047d4a0
add esp, 4
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x27
call fcn.0041dc10
push dword [ebp - 0x58]
call fcn.0047d4a0
push dword [ebp - 0x64]
call fcn.0047d4a0
push dword [ebp - 0x88]
call fcn.0047d4a0
mov edi, dword [ebp - 0x9c]
add esp, 0xc
test edi, edi
je 0x419fe2
lea esp, [esp]
mov eax, dword [ebp - 0xa0]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x419fde
push dword [ebx]
call fcn.0047d4a0
push ebx
call fcn.0047d4a0
add esp, 8
test edi, edi
jne 0x419fc0
push dword [ebp - 0xa0]
call fcn.0047d4a0
lea eax, [ebp - 0xac]
add esp, 4
mov dword [ebp + 0x20], eax
mov edi, dword [ebp - 0xa8]
mov byte [ebp - 4], 0x28
test edi, edi
je 0x41a112
jmp 0x41a010
mov eax, dword [ebp - 0xac]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x41a02e
mov ecx, ebx
call fcn.004186a0
push ebx
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x41a010
jmp 0x41a112
push dword [ebp - 0x11c]
call fcn.0047d4a0
mov edi, dword [ebp - 0x1c]
add esp, 4
test edi, edi
je 0x41a063
lea esp, [esp]
mov eax, dword [ebp - 0x20]
dec edi
push dword [eax + edi*4]
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x41a050
push dword [ebp - 0x20]
call fcn.0047d4a0
add esp, 4
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x11
call fcn.0041dc10
push dword [ebp - 0x58]
call fcn.0047d4a0
push dword [ebp - 0x64]
call fcn.0047d4a0
push dword [ebp - 0x88]
call fcn.0047d4a0
mov edi, dword [ebp - 0x9c]
add esp, 0xc
test edi, edi
je 0x41a0c7
mov eax, dword [ebp - 0xa0]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x41a0c3
push dword [ebx]
call fcn.0047d4a0
push ebx
call fcn.0047d4a0
add esp, 8
test edi, edi
jne 0x41a0a5
push dword [ebp - 0xa0]
call fcn.0047d4a0
lea eax, [ebp - 0xac]
add esp, 4
mov dword [ebp + 0x20], eax
mov edi, dword [ebp - 0xa8]
mov byte [ebp - 4], 0x12
test edi, edi
je 0x41a112
lea esp, [esp]
mov eax, dword [ebp - 0xac]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x41a10e
mov ecx, ebx
call fcn.004186a0
push ebx
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x41a0f0
push dword [ebp - 0xac]
call fcn.0047d4a0
push dword [ebp - 0xd4]
call fcn.0047d4a0
mov ecx, dword [ebp - 0x14]
add esp, 8
mov byte [ebp - 4], 2
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push esi
call fcn.0047d4a0
push dword [ebp - 0x3c]
call fcn.0047d4a0
mov eax, dword [ebp - 0x10]
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x11c]
call fcn.0047d4a0
mov edi, dword [ebp - 0x1c]
add esp, 4
test edi, edi
je 0x41a186
mov eax, dword [ebp - 0x20]
dec edi
push dword [eax + edi*4]
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x41a173
push dword [ebp - 0x20]
call fcn.0047d4a0
add esp, 4
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0xc
call fcn.0041dc10
push dword [ebp - 0x58]
call fcn.0047d4a0
push dword [ebp - 0x64]
call fcn.0047d4a0
push dword [ebp - 0x88]
call fcn.0047d4a0
mov edi, dword [ebp - 0x9c]
add esp, 0xc
test edi, edi
je 0x41a1f2
jmp 0x41a1d0
mov eax, dword [ebp - 0xa0]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x41a1ee
push dword [ebx]
call fcn.0047d4a0
push ebx
call fcn.0047d4a0
add esp, 8
test edi, edi
jne 0x41a1d0
push dword [ebp - 0xa0]
call fcn.0047d4a0
lea eax, [ebp - 0xac]
add esp, 4
mov dword [ebp + 0x20], eax
mov edi, dword [ebp - 0xa8]
mov byte [ebp - 4], 0xd
test edi, edi
je 0x41a242
jmp 0x41a220
mov eax, dword [ebp - 0xac]
dec edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x41a23e
mov ecx, ebx
call fcn.004186a0
push ebx
call fcn.0047d4a0
add esp, 4
test edi, edi
jne 0x41a220
push dword [ebp - 0xac]
call fcn.0047d4a0
push dword [ebp - 0xd4]
call fcn.0047d4a0
mov ecx, dword [ebp - 0x14]
add esp, 8
mov byte [ebp - 4], 2
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push esi
call fcn.0047d4a0
push dword [ebp - 0x3c]
call fcn.0047d4a0
add esp, 8
mov eax, 0x80004004
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 0xd4]
call fcn.0047d4a0
mov ecx, dword [ebp - 0x14]
add esp, 4
mov byte [ebp - 4], 2
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
jmp 0x419163
mov ebx, dword [ebp - 0x14]
mov al, byte [ebp - 0x21]
cmp byte [ebp - 0x45], 0
jne 0x41a2c0
test al, al
je 0x41a2f3
mov ecx, dword [ebp + 0x28]
push dword [ebp - 0x4c]
push dword [ebp - 0x44]
mov eax, dword [ecx]
push ecx
call dword [eax + 0xc]
mov edi, eax
test edi, edi
jne 0x419159
mov ecx, dword [ebp + 0x28]
lea edx, [ebp - 0xb4]
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
mov edi, eax
test edi, edi
jne 0x419159
mov edx, dword [ebp + 0x30]
mov eax, dword [ebx + 0x100]
push ebx
mov byte [ebp - 4], 2
mov dword [edx + 0x20], eax
mov eax, dword [ebx + 0x104]
mov dword [edx + 0x24], eax
mov eax, dword [ebx + 0x108]
mov dword [edx + 0x28], eax
mov eax, dword [ebx + 0x10c]
mov dword [edx + 0x2c], eax
mov eax, dword [ebx + 0x110]
mov dword [edx + 0x30], eax
mov eax, dword [ebx + 0x114]
mov dword [edx + 0x34], eax
mov eax, dword [ebx + 0x118]
mov dword [edx + 8], eax
mov eax, dword [ebx + 0x11c]
mov dword [edx + 0xc], eax
mov eax, dword [ebx + 0x120]
mov dword [edx + 0x10], eax
mov eax, dword [ebx + 0x124]
mov dword [edx + 0x14], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [edx], eax
mov dword [edx + 4], 0
mov ecx, dword [ebx + 0xf8]
mov eax, dword [ecx + 0x20]
mov dword [edx + 0x18], eax
mov eax, dword [ecx + 0x24]
mov dword [edx + 0x1c], eax
mov eax, dword [ebx]
call dword [eax + 8]
push esi
call fcn.0047d4a0
push dword [ebp - 0x3c]
call fcn.0047d4a0
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret