Function at 0x43f8a0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x47
push 0
push 0
dec ecx
jne 0x43f8a8
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x440e79
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x43f77c]
call fcn.00404b60
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 0xa4]
test edx, edx
je 0x43f8e4
sub edx, 0xfffffff8
call fcn.00409504
call fcn.00433b84
mov dword [ebx + 0x60], eax
mov eax, dword [ebx + 0x60]
mov edx, dword [ebp - 0xa4]
mov dword [edx + 0x10], eax
mov eax, dword [ebx + 0x60]
add eax, 0x54
mov edx, 0x440e98
call fcn.00406b1c
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 0xa4]
test edx, edx
je 0x43f91d
sub edx, 0xffffffe8
call fcn.00409504
lea edx, [ebp - 0xa8]
mov eax, ebx
call fcn.0043dea8
lea eax, [ebp - 0x24]
mov edx, dword [ebx + 0x34]
call fcn.00406b70
mov eax, dword [ebx + 0x60]
mov dword [eax + 0x84], ebx
mov dword [eax + 0x80], 0x43de0c
mov eax, dword [ebx + 0x60]
add eax, 0x88
mov edx, dword [ebp - 0x2c]
call fcn.00409504
mov eax, dword [ebx + 0x60]
mov dword [eax + 0x74], ebx
mov dword [eax + 0x70], 0x43de00
mov eax, dword [ebx + 0x60]
mov dword [eax + 0x94], ebx
mov dword [eax + 0x90], 0x43ddcc
mov eax, dword [ebx + 0x60]
mov dword [eax + 0x7c], ebx
mov dword [eax + 0x78], 0x43de08
call fcn.0041309c
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
mov edx, 0x440eac
call fcn.004130e8
mov eax, dword [ebx + 0x60]
mov edx, dword [ebp - 0x8c]
call fcn.00434ee4
mov eax, dword [ebp - 0x8c]
call fcn.0040ae20
xor eax, eax
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x14]
xor edx, edx
call fcn.00406b70
mov dl, 1
mov eax, dword [0x42c7fc]
call fcn.00404b60
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0xc]
xor edx, edx
call fcn.00406b70
lea eax, [ebp - 0x10]
xor edx, edx
call fcn.00406b70
call fcn.0041309c
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x440a93
inc eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x70], 0
mov eax, dword [ebp - 0x70]
mov dword [ebx + 0x7c], eax
lea eax, [ebp - 0xb8]
mov edx, dword [ebp - 0x70]
mov cl, 0xfc
call fcn.004298fc
lea edx, [ebp - 0xb8]
mov eax, dword [ebx + 0x4c]
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov dword [ebp - 0x38], eax
cmp dword [ebx + 0x9c], 0
je 0x43fa66
lea ecx, [ebp - 0xbc]
mov edx, 0x440ecc
mov eax, dword [ebp - 0x38]
call fcn.0042dcb8
mov eax, dword [ebp - 0xbc]
call dword [ebx + 0x9c]
lea eax, [ebp - 8]
xor edx, edx
call fcn.00406b70
mov edx, 0x440ee4
mov eax, dword [ebp - 0x38]
call fcn.0042d61c
inc eax
jle 0x44043b
mov edx, 0x440ee4
mov eax, dword [ebp - 0x38]
call fcn.0042d5b4
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov edx, dword [eax]
call dword [edx + 0x10]
mov dword [ebx + 0x80], eax
mov eax, dword [ebp - 0x50]
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x44043b
inc eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x64], 0
cmp byte [ebx + 0x48], 0
jne 0x440cb9
mov eax, dword [ebp - 0x64]
mov dword [ebx + 0x84], eax
xor eax, eax
mov dword [ebx + 0x68], eax
mov dword [ebx + 0x6c], eax
mov eax, 0x64
cdq
idiv dword [ebx + 0x80]
mov dword [ebx + 0x74], eax
mov eax, dword [ebx + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x10]
push eax
mov eax, 0x64
pop edx
mov ecx, edx
cdq
idiv ecx
mov dword [ebx + 0x78], eax
mov esi, dword [ebx + 0x74]
mov dword [ebp - 0xc0], esi
fild dword [ebp - 0xc0]
fmul qword [ebx + 0x68]
call fcn.004043f0
mov edi, eax
mov eax, dword [ebx + 0x84]
imul esi
add edi, eax
mov dword [ebx + 0x70], edi
cmp dword [ebx + 0x94], 0
je 0x43fb4d
mov eax, edi
imul dword [ebx + 0x78]
mov ecx, 0x64
cdq
idiv ecx
mov edx, dword [ebx + 0x7c]
imul edx, dword [ebx + 0x78]
add eax, edx
call dword [ebx + 0x94]
lea eax, [ebp - 0xd0]
mov edx, dword [ebp - 0x64]
mov cl, 0xfc
call fcn.004298fc
lea edx, [ebp - 0xd0]
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov esi, eax
mov edx, 0x440efc
mov eax, esi
call fcn.0042d61c
inc eax
jle 0x4403cf
mov edx, 0x440f08
mov eax, esi
call fcn.0042d61c
inc eax
jle 0x4403cf
mov edx, 0x440f34
mov eax, esi
call fcn.0042dda4
test al, al
je 0x4403cf
lea ecx, [ebp - 0xd4]
mov edx, 0x440f60
mov eax, esi
call fcn.0042dcb8
mov ecx, dword [ebp - 0xd4]
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x24]
call fcn.00406f30
lea ecx, [ebp - 0x1c]
mov edx, 0x440f80
mov eax, esi
call fcn.0042dcb8
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x43fbf6
mov edx, eax
sub edx, 0xa
cmp word [edx], 2
je 0x43fbf6
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
call fcn.00405f00
cmp word [eax], 0x2f
jne 0x43fc20
lea ecx, [ebp - 0xd8]
mov eax, dword [ebx + 0x38]
mov edx, 0x440f94
call fcn.0042dcb8
mov edx, dword [ebp - 0xd8]
lea eax, [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
call fcn.00406f30
mov byte [ebp - 0x8d], 0
mov edx, dword [ebp - 0x1c]
mov eax, 0x440fbc
call fcn.00407388
test eax, eax
jle 0x43fc51
lea eax, [ebp - 0x1c]
mov ecx, 0x440fd4
mov edx, 0x440fbc
call fcn.0040cb78
mov byte [ebp - 0x8d], 1
lea eax, [ebp - 0xe4]
push eax
movzx ecx, byte [ebp - 0x8d]
xor edx, edx
mov eax, 0x440fec
call fcn.0040bc0c
mov edx, dword [ebp - 0xe4]
lea eax, [ebp - 0xe0]
call fcn.00406d38
mov ecx, dword [ebp - 0xe0]
lea eax, [ebp - 0xdc]
mov edx, dword [ebp - 0x20]
call fcn.00406f30
mov eax, dword [ebp - 0xdc]
call fcn.0040ecb8
mov dword [ebp - 0x80], eax
mov eax, dword [ebx + 0x60]
mov edx, dword [ebp - 0x80]
call fcn.00434938
mov word [ebx + 0x64], 0
mov eax, dword [ebx + 0x60]
mov edx, dword [ebp - 0x1c]
call fcn.00434f10
jmp 0x43fcec
push 0xa
call sub.kernel32.dll_Sleep_1
cmp byte [ebx + 0x48], 0
je 0x43fcd6
mov eax, dword [ebx + 0x60]
call fcn.004350cc
jmp 0x440cb9
mov eax, dword [0x455d84]
cmp dword [eax], 0
je 0x43fcec
mov eax, dword [0x455d84]
mov eax, dword [eax]
call fcn.00411c98
mov eax, dword [ebx + 0x60]
cmp byte [eax + 0x38], 0
jne 0x43fcbc
cmp byte [ebp - 0x8d], 0
je 0x43fde1
mov eax, dword [ebp - 0x20]
call fcn.0040ecb8
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x80]
xor edx, edx
call fcn.0040e808
mov eax, dword [ebp - 0x80]
call fcn.0040e814
push eax
lea eax, [ebp - 0x30]
mov ecx, 1
mov edx, dword [0x43f6e4]
call fcn.004080cc
add esp, 4
mov eax, dword [ebp - 0x80]
call fcn.0040e814
mov ecx, eax
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x80]
call fcn.0040e830
mov eax, dword [ebp - 0x80]
call fcn.0040e814
dec eax
test eax, eax
jl 0x43fda6
inc eax
mov dword [ebp - 0xa0], eax
xor edi, edi
mov eax, dword [ebp - 0x30]
mov edx, edi
and edx, 0x800001ff
jns 0x43fd79
dec edx
or edx, 0xfffffe00
inc edx
movzx edx, byte [edx + 0x455a68]
xor byte [eax + edi], dl
mov eax, edi
mov ecx, 0xc800
cdq
idiv ecx
test edx, edx
jne 0x43fd9d
mov eax, dword [0x455d84]
mov eax, dword [eax]
call fcn.00411c98
inc edi
dec dword [ebp - 0xa0]
jne 0x43fd64
mov eax, dword [ebp - 0x80]
call fcn.0040e814
mov ecx, eax
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x94]
call fcn.0040e83c
push 0
lea eax, [ebp - 0x30]
mov ecx, 1
mov edx, dword [0x43f6e4]
call fcn.004080cc
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.0040ae20
mov eax, dword [ebp - 0x80]
call fcn.0040e814
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x80]
call fcn.0040ae20
lea eax, [ebp - 0xe8]
mov ecx, 0x441000
mov edx, dword [ebp - 0x20]
call fcn.00406f30
mov eax, dword [ebp - 0xe8]
call fcn.00406ba8
push eax
call sub.kernel32.dll_DeleteFileW
cmp word [ebx + 0x64], 0
jne 0x43fe35
mov eax, dword [ebp - 0xa4]
cmp dword [eax + 0xc], 0xc8
je 0x43ff5d
mov cl, 1
mov edx, 0x441010
mov eax, esi
call fcn.0042d6f0
mov cl, 1
mov dl, 1
mov eax, dword [0x42ca58]
call fcn.0042d9b0
mov edi, eax
mov edx, 0x44102c
mov eax, esi
call fcn.0042dc44
mov ecx, eax
mov edx, 0x441040
mov eax, edi
call fcn.0042d794
mov ecx, 0x44105c
mov edx, 0x44106c
mov eax, edi
call fcn.0042d718
movzx ecx, word [ebx + 0x64]
mov edx, 0x441088
mov eax, edi
call fcn.0042d794
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax + 0xc]
mov edx, 0x4410a4
mov eax, edi
call fcn.0042d794
mov edx, edi
mov eax, dword [ebp - 0x58]
call fcn.0042d450
push 0x4410d0
push dword [ebp - 0x1c]
push 0x4410fc
push 0x441110
lea edx, [ebp - 0xf0]
movzx eax, word [ebx + 0x64]
call fcn.0040c198
push dword [ebp - 0xf0]
push 0x441124
lea edx, [ebp - 0xf4]
movzx eax, word [ebx + 0x64]
call fcn.00433954
push dword [ebp - 0xf4]
push 0x441134
push 0x4410fc
push 0x441144
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0xc]
call fcn.0040c198
push dword [ebp - 0xf8]
push 0x4410fc
lea ecx, [ebp - 0xfc]
mov edx, esi
mov eax, dword [0x42cb30]
call fcn.0042e350
push dword [ebp - 0xfc]
push 0x4410fc
lea eax, [ebp - 0xec]
mov edx, 0xe
call fcn.00407014
mov edx, dword [ebp - 0xec]
mov eax, ebx
xor ecx, ecx
call fcn.0043db0c
jmp 0x4403cc
cmp dword [ebp - 0x84], 0
jne 0x440088
mov cl, 1
mov edx, 0x441010
mov eax, esi
call fcn.0042d6f0
mov cl, 1
mov dl, 1
mov eax, dword [0x42ca58]
call fcn.0042d9b0
mov edi, eax
mov edx, 0x44102c
mov eax, esi
call fcn.0042dc44
mov ecx, eax
mov edx, 0x441040
mov eax, edi
call fcn.0042d794
mov ecx, 0x441174
mov edx, 0x44106c
mov eax, edi
call fcn.0042d718
mov ecx, 0x441194
mov edx, 0x4411d8
mov eax, edi
call fcn.0042d718
mov edx, edi
mov eax, dword [ebp - 0x58]
call fcn.0042d450
push 0x4410d0
push dword [ebp - 0x1c]
push 0x4410fc
push 0x441110
lea edx, [ebp - 0x104]
movzx eax, word [ebx + 0x64]
call fcn.0040c198
push dword [ebp - 0x104]
push 0x441124
lea edx, [ebp - 0x108]
movzx eax, word [ebx + 0x64]
call fcn.00433954
push dword [ebp - 0x108]
push 0x441134
push 0x4410fc
push 0x441144
lea edx, [ebp - 0x10c]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0xc]
call fcn.0040c198
push dword [ebp - 0x10c]
push 0x4410fc
lea ecx, [ebp - 0x110]
mov edx, esi
mov eax, dword [0x42cb30]
call fcn.0042e350
push dword [ebp - 0x110]
push 0x4410fc
push 0x4411fc
push 0x4410fc
lea eax, [ebp - 0x100]
mov edx, 0x10
call fcn.00407014
mov edx, dword [ebp - 0x100]
mov eax, ebx
xor ecx, ecx
call fcn.0043db0c
jmp 0x4403cc
mov cl, 1
mov edx, 0x441268
mov eax, esi
call fcn.0042d6f0
lea eax, [ebp - 0x114]
mov ecx, dword [ebp - 0x1c]
mov edx, 0x44128c
call fcn.00406f30
mov edx, dword [ebp - 0x114]
mov eax, ebx
xor ecx, ecx
call fcn.0043db0c
lea eax, [ebp - 0x28]
xor edx, edx
call fcn.00406b70
mov edx, 0x4412ac
mov eax, esi
call fcn.0042d61c
inc eax
jle 0x4401aa
mov edx, 0x4412ac
mov eax, esi
call fcn.0042d5b4
lea edx, [ebp - 0x124]
mov ecx, dword [eax]
call dword [ecx]
lea eax, [ebp - 0x124]
call fcn.0042bb98
test al, al
je 0x44012a
lea ecx, [ebp - 0x128]
mov edx, 0x4412d4
mov eax, esi
call fcn.0042dcb8
mov edx, dword [ebp - 0x128]
mov eax, dword [0x42cb30]
call fcn.0042f380
mov ecx, eax
mov edx, 0x4412ac
mov eax, esi
call fcn.0042d688
mov edx, 0x4412ac
mov eax, esi
call fcn.0042d5b4
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x4401aa
inc eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x68], 0
lea ecx, [ebp - 0x12c]
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x54]
mov edi, dword [eax]
call dword [edi + 0x34]
cmp dword [ebp - 0x12c], 0
je 0x44019f
push dword [ebp - 0x28]
push 0x4412fc
lea ecx, [ebp - 0x130]
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x54]
mov edi, dword [eax]
call dword [edi + 0x34]
push dword [ebp - 0x130]
push 0x441310
lea eax, [ebp - 0x28]
mov edx, 4
call fcn.00407014
inc dword [ebp - 0x68]
dec dword [ebp - 0xa0]
jne 0x440154
mov edx, 0x441318
mov eax, esi
call fcn.0042d61c
inc eax
jle 0x44023d
mov edx, 0x441318
mov eax, esi
call fcn.0042d5b4
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x44023d
inc eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x68], 0
lea ecx, [ebp - 0x134]
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x54]
mov edi, dword [eax]
call dword [edi + 0x34]
cmp dword [ebp - 0x134], 0
je 0x440232
push dword [ebp - 0x28]
push 0x4412fc
lea ecx, [ebp - 0x138]
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x54]
mov edi, dword [eax]
call dword [edi + 0x34]
push dword [ebp - 0x138]
push 0x441310
lea eax, [ebp - 0x28]
mov edx, 4
call fcn.00407014
inc dword [ebp - 0x68]
dec dword [ebp - 0xa0]
jne 0x4401e7
lea eax, [ebp - 0x13c]
mov ecx, dword [ebp - 0x28]
mov edx, 0x441340
call fcn.00406f30
mov edx, dword [ebp - 0x13c]
mov eax, ebx
xor ecx, ecx
call fcn.0043db0c
lea edx, [ebp - 0x140]
mov eax, dword [ebp - 0x28]
call fcn.0043c3c0
mov edx, dword [ebp - 0x140]
lea eax, [ebp - 0x28]
call fcn.00406b70
lea eax, [ebp - 0x144]
mov ecx, dword [ebp - 0x28]
mov edx, 0x441388
call fcn.00406f30
mov edx, dword [ebp - 0x144]
mov eax, ebx
xor ecx, ecx
call fcn.0043db0c
push 1
push 0xf
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
call fcn.00438f1c
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x4402df
mov eax, ebx
xor ecx, ecx
mov edx, 0x4413b8
call fcn.0043db0c
mov cl, 1
mov edx, 0x4413ec
mov eax, esi
call fcn.0042d6f0
jmp 0x4403cc
mov cl, 1
mov dl, 1
mov eax, dword [0x42ca58]
call fcn.0042d9b0
mov edi, eax
mov edx, 0x44102c
mov eax, esi
call fcn.0042dc44
mov ecx, eax
mov edx, 0x441040
mov eax, edi
call fcn.0042d794
mov ecx, 0x441408
mov edx, 0x44106c
mov eax, edi
call fcn.0042d718
lea ecx, [ebp - 0x14c]
mov edx, 1
mov eax, dword [ebp - 0x88]
call fcn.0040c14c
mov ecx, dword [ebp - 0x14c]
lea eax, [ebp - 0x148]
mov edx, 0x441420
call fcn.00406f30
mov ecx, dword [ebp - 0x148]
mov edx, 0x44142c
mov eax, edi
call fcn.0042d718
mov edx, edi
mov eax, dword [ebp - 0x58]
call fcn.0042d450
push 0x441450
lea ecx, [ebp - 0x154]
mov edx, 1
mov eax, dword [ebp - 0x88]
call fcn.0040c14c
push dword [ebp - 0x154]
push 0x441124
lea edx, [ebp - 0x158]
mov eax, dword [ebp - 0x88]
call fcn.00438e80
push dword [ebp - 0x158]
lea eax, [ebp - 0x150]
mov edx, 4
call fcn.00407014
mov edx, dword [ebp - 0x150]
mov eax, ebx
xor ecx, ecx
call fcn.0043db0c
mov cl, 1
mov edx, 0x441010
mov eax, esi
call fcn.0042d6f0
inc dword [ebp - 0x7c]
mov eax, 0x64
cdq
idiv dword [ebx + 0x80]
mov dword [ebx + 0x74], eax
mov eax, dword [ebx + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x10]
push eax
mov eax, 0x64
pop edx
mov ecx, edx
cdq
idiv ecx
mov dword [ebx + 0x78], eax
mov edx, dword [ebx + 0x84]
mov eax, dword [ebx + 0x74]
imul edx, eax
add edx, eax
mov dword [ebx + 0x70], edx
cmp dword [ebx + 0x94], 0
je 0x44042c
mov eax, dword [ebx + 0x70]
imul dword [ebx + 0x78]
mov ecx, 0x64
cdq
idiv ecx
mov edx, dword [ebx + 0x7c]
imul edx, dword [ebx + 0x78]
add eax, edx
call dword [ebx + 0x94]
inc dword [ebp - 0x64]
dec dword [ebp - 0x9c]
jne 0x43fac1
lea eax, [ebp - 8]
xor edx, edx
call fcn.00406b70
mov byte [ebp - 0x47], 0
mov edx, 0x44148c
mov eax, dword [ebp - 0x38]
call fcn.0042d61c
inc eax
jle 0x440a84
mov edx, 0x44148c
mov eax, dword [ebp - 0x38]
call fcn.0042d5b4
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x440a84
inc eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x68], 0
lea eax, [ebp - 0x168]
mov edx, dword [ebp - 0x68]
mov cl, 0xfc
call fcn.004298fc
lea edx, [ebp - 0x168]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov dword [ebp - 0x3c], eax
mov edx, 0x44102c
mov eax, dword [ebp - 0x3c]
call fcn.0042dc44
mov edi, eax
mov edx, 0x4414b4
mov eax, dword [ebp - 0x3c]
call fcn.0042dc44
mov dword [ebp - 0x78], eax
mov edx, 0x4414d0
mov eax, dword [ebp - 0x38]
call fcn.0042d61c
inc eax
jle 0x4404fe
mov edx, 0x4414e8
mov eax, dword [ebp - 0x3c]
call fcn.0042d61c
inc eax
jle 0x4404fe
mov edx, 0x441504
mov eax, dword [ebp - 0x3c]
call fcn.0042dc44
mov dword [ebp - 0x74], eax
jmp 0x44050e
mov edx, 0x441504
mov eax, dword [ebp - 0x38]
call fcn.0042dc44
mov dword [ebp - 0x74], eax
mov edx, 0x441518
mov eax, dword [ebp - 0x3c]
call fcn.0042d61c
inc eax
jle 0x440a75
mov edx, 0x441534
mov eax, dword [ebp - 0x3c]
call fcn.0042dda4
test al, al
je 0x440a75
push dword [ebp - 0x10]
lea edx, [ebp - 0x16c]
mov eax, dword [ebp - 0x78]
call fcn.0040c198
push dword [ebp - 0x16c]
push 0x441550
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00407014
mov edx, 0x440ee4
mov eax, dword [ebp - 0x38]
call fcn.0042d5b4
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov edx, dword [eax]
call dword [edx + 0x10]
mov dword [ebx + 0x80], eax
mov byte [ebp - 0x46], 0
mov eax, dword [ebp - 0x50]
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x4407e0
inc eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x64], 0
lea eax, [ebp - 0x17c]
mov edx, dword [ebp - 0x64]
mov cl, 0xfc
call fcn.004298fc
lea edx, [ebp - 0x17c]
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov esi, eax
mov edx, 0x44102c
mov eax, esi
call fcn.0042dc44
cmp edi, eax
jne 0x4407d1
mov edx, 0x4413ec
mov eax, esi
call fcn.0042d61c
inc eax
jle 0x440724
mov edx, 0x441560
mov eax, esi
call fcn.0042dda4
test al, al
je 0x440724
lea edx, [ebp - 0x198]
mov eax, dword [ebp - 0x74]
call fcn.0040c198
push dword [ebp - 0x198]
push 0x44157c
lea edx, [ebp - 0x19c]
mov eax, edi
call fcn.0040c198
push dword [ebp - 0x19c]
lea eax, [ebp - 0x194]
mov edx, 3
call fcn.00407014
mov edx, dword [ebp - 0x194]
lea eax, [ebp - 0x190]
mov ecx, 0
call fcn.00406d60
mov edx, dword [ebp - 0x190]
lea ecx, [ebp - 0x18c]
mov eax, dword [ebp - 0x60]
call fcn.00413784
mov edx, dword [ebp - 0x18c]
lea eax, [ebp - 0x188]
call fcn.00406d38
push dword [ebp - 0x188]
lea edx, [ebp - 0x1a0]
mov eax, dword [ebp - 0x78]
call fcn.0040c198
push dword [ebp - 0x1a0]
push 0x441550
lea eax, [ebp - 0x184]
mov edx, 3
call fcn.00407014
mov edx, dword [ebp - 0x184]
lea eax, [ebp - 0x180]
mov ecx, 0
call fcn.00406d60
mov eax, dword [ebp - 0x180]
push eax
lea edx, [ebp - 0x1ac]
mov eax, dword [ebp - 0x74]
call fcn.0040c198
push dword [ebp - 0x1ac]
push 0x44157c
lea edx, [ebp - 0x1b0]
mov eax, edi
call fcn.0040c198
push dword [ebp - 0x1b0]
lea eax, [ebp - 0x1a8]
mov edx, 3
call fcn.00407014
mov edx, dword [ebp - 0x1a8]
lea eax, [ebp - 0x1a4]
mov ecx, 0
call fcn.00406d60
mov edx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x60]
pop ecx
call fcn.00413894
mov byte [ebp - 0x46], 1
mov edx, 0x441010
mov eax, esi
call fcn.0042d61c
inc eax
jle 0x4407d1
mov edx, 0x44158c
mov eax, esi
call fcn.0042dda4
test al, al
je 0x4407d1
lea edx, [ebp - 0x1bc]
mov eax, dword [ebp - 0x74]
call fcn.0040c198
mov edx, dword [ebp - 0x1bc]
lea eax, [ebp - 0x1b8]
mov ecx, 0
call fcn.00406d60
mov edx, dword [ebp - 0x1b8]
lea ecx, [ebp - 0x1b4]
mov eax, dword [ebp - 0x60]
call fcn.00413784
lea eax, [ebp - 0x1b4]
mov edx, 0x4415a8
call fcn.004060cc
mov eax, dword [ebp - 0x1b4]
push eax
lea edx, [ebp - 0x1c4]
mov eax, dword [ebp - 0x74]
call fcn.0040c198
mov edx, dword [ebp - 0x1c4]
lea eax, [ebp - 0x1c0]
mov ecx, 0
call fcn.00406d60
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x60]
pop ecx
call fcn.00413894
mov byte [ebp - 0x47], 1
inc dword [ebp - 0x64]
dec dword [ebp - 0xa0]
jne 0x4405a1
cmp byte [ebp - 0x46], 0
je 0x440a75
push dword [ebp - 8]
lea edx, [ebp - 0x1c8]
mov eax, dword [ebp - 0x78]
call fcn.0040c198
push dword [ebp - 0x1c8]
push 0x441550
lea eax, [ebp - 8]
mov edx, 3
call fcn.00407014
mov edx, 0x4415b4
mov eax, dword [ebp - 0x3c]
call fcn.0042d61c
inc eax
jle 0x44095e
mov byte [ebp - 0x45], 1
mov edx, 0x44148c
mov eax, dword [ebp - 0x38]
call fcn.0042d5b4
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x4408e0
inc eax
mov dword [ebp - 0xa0], eax
xor edi, edi
mov edx, 0x44148c
mov eax, dword [ebp - 0x38]
call fcn.0042d5b4
push eax
lea eax, [ebp - 0x1d8]
mov edx, edi
mov cl, 0xfc
call fcn.004298fc
lea edx, [ebp - 0x1d8]
pop eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov edx, dword [0x42ca58]
call fcn.00404dd0
mov esi, eax
mov edx, 0x441504
mov eax, dword [ebp - 0x3c]
call fcn.0042dc44
push eax
mov edx, 0x441504
mov eax, esi
call fcn.0042dc44
pop edx
cmp edx, eax
jne 0x4408d3
cmp byte [ebp - 0x45], 0
je 0x4408ca
mov edx, 0x441518
mov eax, dword [ebp - 0x3c]
call fcn.0042d61c
inc eax
jle 0x4408ca
mov edx, 0x441534
mov eax, esi
call fcn.0042dda4
test al, al
jne 0x4408ce
xor eax, eax
jmp 0x4408d0
mov al, 1
mov byte [ebp - 0x45], al
inc edi
dec dword [ebp - 0xa0]
jne 0x44084f
cmp byte [ebp - 0x45], 0
je 0x440a75
mov edx, 0x4415b4
mov eax, dword [ebp - 0x3c]
call fcn.0042d5b4
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x440a75
inc eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x64], 0
mov edx, 0x4415b4
mov eax, dword [ebp - 0x3c]
call fcn.0042d5b4
mov edx, dword [ebp - 0x64]
mov ecx, dword [eax]
call dword [ecx + 8]
lea edx, [ebp - 0x1ec]
mov ecx, dword [eax]
call dword [ecx]
lea edx, [ebp - 0x1ec]
lea eax, [ebp - 0x1dc]
call fcn.00429104
mov eax, dword [ebp - 0x1dc]
call fcn.00438510
inc dword [ebp - 0x64]
dec dword [ebp - 0xa0]
jne 0x440913
jmp 0x440a75
mov edx, 0x4415b4
mov eax, dword [ebp - 0x38]
call fcn.0042d61c
inc eax
jle 0x440a75
mov byte [ebp - 0x45], 1
mov edx, 0x44148c
mov eax, dword [ebp - 0x38]
call fcn.0042d5b4
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x440a04
inc eax
mov dword [ebp - 0xa0], eax
xor edi, edi
mov edx, 0x44148c
mov eax, dword [ebp - 0x38]
call fcn.0042d5b4
push eax
lea eax, [ebp - 0x1fc]
mov edx, edi
mov cl, 0xfc
call fcn.004298fc
lea edx, [ebp - 0x1fc]
pop eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov edx, dword [0x42ca58]
call fcn.00404dd0
mov esi, eax
cmp byte [ebp - 0x45], 0
je 0x4409f2
mov edx, 0x441518
mov eax, dword [ebp - 0x3c]
call fcn.0042d61c
inc eax
jle 0x4409f2
mov edx, 0x441534
mov eax, esi
call fcn.0042dda4
test al, al
jne 0x4409f6
xor eax, eax
jmp 0x4409f8
mov al, 1
mov byte [ebp - 0x45], al
inc edi
dec dword [ebp - 0xa0]
jne 0x440996
cmp byte [ebp - 0x45], 0
je 0x440a75
mov edx, 0x4415b4
mov eax, dword [ebp - 0x38]
call fcn.0042d5b4
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x440a75
inc eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x64], 0
mov edx, 0x4415b4
mov eax, dword [ebp - 0x38]
call fcn.0042d5b4
mov edx, dword [ebp - 0x64]
mov ecx, dword [eax]
call dword [ecx + 8]
lea edx, [ebp - 0x210]
mov ecx, dword [eax]
call dword [ecx]
lea edx, [ebp - 0x210]
lea eax, [ebp - 0x200]
call fcn.00429104
mov eax, dword [ebp - 0x200]
call fcn.00438510
inc dword [ebp - 0x64]
dec dword [ebp - 0xa0]
jne 0x440a2f
inc dword [ebp - 0x68]
dec dword [ebp - 0x9c]
jne 0x44048c
inc dword [ebp - 0x70]
dec dword [ebp - 0x98]
jne 0x43fa17
lea eax, [ebp - 0xc]
xor edx, edx
call fcn.00406b70
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 0x1c]
dec eax
test eax, eax
jl 0x440b1e
inc eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x64], 0
lea ecx, [ebp - 0x218]
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x64]
call fcn.00413954
mov edx, dword [ebp - 0x218]
lea eax, [ebp - 0x214]
call fcn.00406d38
mov eax, dword [ebp - 0x214]
lea ecx, [ebp - 0x18]
mov dx, 0x2c
call fcn.00439228
mov edx, dword [ebp - 0x18]
mov eax, 0x4415cc
call fcn.00407388
test eax, eax
jne 0x440b13
push dword [ebp - 0xc]
push dword [ebp - 0x18]
push 0x441550
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00407014
inc dword [ebp - 0x64]
dec dword [ebp - 0x98]
jne 0x440ab6
cmp dword [ebx + 0x9c], 0
je 0x440b2f
xor eax, eax
call dword [ebx + 0x9c]
lea ecx, [ebp - 0x21c]
mov dx, 0x2c
mov eax, dword [ebp - 0xc]
call fcn.00439228
mov edx, dword [ebp - 0x21c]
lea eax, [ebp - 0xc]
call fcn.00406b70
lea ecx, [ebp - 0x220]
mov dx, 0x2c
mov eax, dword [ebp - 0x10]
call fcn.00439228
mov edx, dword [ebp - 0x220]
lea eax, [ebp - 0x10]
call fcn.00406b70
push 0x4415e4
push dword [ebp - 0xc]
push 0x441134
lea eax, [ebp - 0x224]
mov edx, 3
call fcn.00407014
mov edx, dword [ebp - 0x224]
mov eax, ebx
xor ecx, ecx
call fcn.0043db0c
push 0x441620
push dword [ebp - 0xc]
push 0x441650
push 0x441664
push dword [ebp - 0x10]
push 0x441650
push 0x4416a4
lea eax, [ebp - 0x228]
mov edx, 7
call fcn.00407014
mov edx, dword [ebp - 0x228]
mov eax, dword [0x42cb30]
call fcn.0042f380
mov edx, dword [0x42ca58]
call fcn.00404dd0
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
call dword [edx + 0x10]
test eax, eax
jle 0x440c0e
mov edx, 0x4416d8
mov eax, dword [ebp - 0x40]
call fcn.0042d5b4
mov ecx, dword [ebp - 0x58]
mov edx, 0x4416fc
call fcn.0042d518
push 0x441714
lea ecx, [ebp - 0x230]
mov edx, dword [ebp - 0x40]
mov eax, dword [0x42cb30]
call fcn.0042e350
push dword [ebp - 0x230]
push 0x44173c
lea eax, [ebp - 0x22c]
mov edx, 3
call fcn.00407014
mov edx, dword [ebp - 0x22c]
mov eax, ebx
xor ecx, ecx
call fcn.0043db0c
mov eax, dword [ebx + 0x44]
mov edx, dword [ebp - 0x40]
call fcn.0043ce14
mov edx, dword [0x42ca58]
call fcn.00404dd0
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x238]
mov edx, dword [ebp - 0x44]
mov eax, dword [0x42cb30]
call fcn.0042e350
mov ecx, dword [ebp - 0x238]
lea eax, [ebp - 0x234]
mov edx, 0x44174c
call fcn.00406f30
mov edx, dword [ebp - 0x234]
mov eax, ebx
xor ecx, ecx
call fcn.0043db0c
mov eax, dword [ebp - 0x40]
call fcn.00404b90
mov eax, dword [ebx + 0x60]
call fcn.0040ae20
mov eax, dword [ebp - 0x60]
call fcn.0040ae20
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x440e83
lea eax, [ebp - 0x238]
mov edx, 8
call fcn.00406b14
lea eax, [ebp - 0x218]
call fcn.00405d6c
lea eax, [ebp - 0x214]
call fcn.00406b0c
lea eax, [ebp - 0x210]
call fcn.004245d0
lea eax, [ebp - 0x200]
call fcn.00406b0c
lea eax, [ebp - 0x1fc]
mov edx, dword [0x401220]
mov ecx, 2
call fcn.004074fc
lea eax, [ebp - 0x1dc]
call fcn.00406b0c
lea eax, [ebp - 0x1d8]
call fcn.004245d0
lea eax, [ebp - 0x1c8]
mov edx, 2
call fcn.00406b14
lea eax, [ebp - 0x1c0]
call fcn.00405d6c
lea eax, [ebp - 0x1bc]
call fcn.00406b0c
lea eax, [ebp - 0x1b8]
mov edx, 2
call fcn.00405d90
lea eax, [ebp - 0x1b0]
mov edx, 3
call fcn.00406b14
lea eax, [ebp - 0x1a4]
call fcn.00405d6c
lea eax, [ebp - 0x1a0]
mov edx, 4
call fcn.00406b14
lea eax, [ebp - 0x190]
mov edx, 2
call fcn.00405d90
lea eax, [ebp - 0x188]
mov edx, 2
call fcn.00406b14
lea eax, [ebp - 0x180]
call fcn.00405d6c
lea eax, [ebp - 0x17c]
call fcn.004245d0
lea eax, [ebp - 0x16c]
call fcn.00406b0c
lea eax, [ebp - 0x168]
call fcn.004245d0
lea eax, [ebp - 0x158]
mov edx, 0xd
call fcn.00406b14
lea eax, [ebp - 0x124]
call fcn.004245d0
lea eax, [ebp - 0x114]
mov edx, 0xc
call fcn.00406b14
lea eax, [ebp - 0xe4]
call fcn.00405d6c
lea eax, [ebp - 0xe0]
mov edx, 4
call fcn.00406b14
lea eax, [ebp - 0xd0]
call fcn.004245d0
lea eax, [ebp - 0xbc]
call fcn.00406b0c
lea eax, [ebp - 0xb8]
call fcn.004245d0
lea eax, [ebp - 0xa8]
call fcn.00406b0c
lea eax, [ebp - 0x34]
call fcn.004094ec
lea eax, [ebp - 0x30]
mov edx, dword [0x43f6e4]
call fcn.004080d8
lea eax, [ebp - 0x2c]
call fcn.004094ec
lea eax, [ebp - 0x28]
mov edx, 9
call fcn.00406b14
ret