Function at 0x43f9b4
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x47
push 0
push 0
dec ecx
jne 0x43f9bc
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x440f8d
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x43f890]
call fcn.00404b60
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 0xa4]
test edx, edx
je 0x43f9f8
sub edx, 0xfffffff8
call fcn.00409458
call fcn.00433abc
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, 0x440fac
call fcn.00406b44
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 0xa4]
test edx, edx
je 0x43fa31
sub edx, 0xffffffe8
call fcn.00409458
lea edx, [ebp - 0xa8]
mov eax, ebx
call fcn.0043dfa0
lea eax, [ebp - 0x24]
mov edx, dword [ebx + 0x34]
call fcn.00406b98
mov eax, dword [ebx + 0x60]
mov dword [eax + 0x84], ebx
mov dword [eax + 0x80], 0x43df04
mov eax, dword [ebx + 0x60]
add eax, 0x88
mov edx, dword [ebp - 0x2c]
call fcn.00409458
mov eax, dword [ebx + 0x60]
mov dword [eax + 0x74], ebx
mov dword [eax + 0x70], 0x43def8
mov eax, dword [ebx + 0x60]
mov dword [eax + 0x94], ebx
mov dword [eax + 0x90], 0x43dec4
mov eax, dword [ebx + 0x60]
mov dword [eax + 0x7c], ebx
mov dword [eax + 0x78], 0x43df00
call fcn.00412fd4
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
mov edx, 0x440fc0
call fcn.00413020
mov eax, dword [ebx + 0x60]
mov edx, dword [ebp - 0x8c]
call fcn.00434e1c
mov eax, dword [ebp - 0x8c]
call fcn.0040ad84
xor eax, eax
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x14]
xor edx, edx
call fcn.00406b98
mov dl, 1
mov eax, dword [0x42c734]
call fcn.00404b60
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0xc]
xor edx, edx
call fcn.00406b98
lea eax, [ebp - 0x10]
xor edx, edx
call fcn.00406b98
call fcn.00412fd4
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x440ba7
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.00429834
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 0x43fb7a
lea ecx, [ebp - 0xbc]
mov edx, 0x440fe0
mov eax, dword [ebp - 0x38]
call fcn.0042dbf0
mov eax, dword [ebp - 0xbc]
call dword [ebx + 0x9c]
lea eax, [ebp - 8]
xor edx, edx
call fcn.00406b98
mov edx, 0x440ff8
mov eax, dword [ebp - 0x38]
call fcn.0042d554
inc eax
jle 0x44054f
mov edx, 0x440ff8
mov eax, dword [ebp - 0x38]
call fcn.0042d4ec
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 0x44054f
inc eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x64], 0
cmp byte [ebx + 0x48], 0
jne 0x440dcd
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 0x43fc61
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.00429834
lea edx, [ebp - 0xd0]
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov esi, eax
mov edx, 0x441010
mov eax, esi
call fcn.0042d554
inc eax
jle 0x4404e3
mov edx, 0x44101c
mov eax, esi
call fcn.0042d554
inc eax
jle 0x4404e3
mov edx, 0x441048
mov eax, esi
call fcn.0042dcdc
test al, al
je 0x4404e3
lea ecx, [ebp - 0xd4]
mov edx, 0x441074
mov eax, esi
call fcn.0042dbf0
mov ecx, dword [ebp - 0xd4]
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x24]
call fcn.00406f58
lea ecx, [ebp - 0x1c]
mov edx, 0x441094
mov eax, esi
call fcn.0042dbf0
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x43fd0a
mov edx, eax
sub edx, 0xa
cmp word [edx], 2
je 0x43fd0a
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
call fcn.00405f28
cmp word [eax], 0x2f
jne 0x43fd34
lea ecx, [ebp - 0xd8]
mov eax, dword [ebx + 0x38]
mov edx, 0x4410a8
call fcn.0042dbf0
mov edx, dword [ebp - 0xd8]
lea eax, [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
call fcn.00406f58
mov byte [ebp - 0x8d], 0
mov edx, dword [ebp - 0x1c]
mov eax, 0x4410d0
call fcn.004073b0
test eax, eax
jle 0x43fd65
lea eax, [ebp - 0x1c]
mov ecx, 0x4410e8
mov edx, 0x4410d0
call fcn.0040cadc
mov byte [ebp - 0x8d], 1
lea eax, [ebp - 0xe4]
push eax
movzx ecx, byte [ebp - 0x8d]
xor edx, edx
mov eax, 0x441100
call fcn.0040bb70
mov edx, dword [ebp - 0xe4]
lea eax, [ebp - 0xe0]
call fcn.00406d60
mov ecx, dword [ebp - 0xe0]
lea eax, [ebp - 0xdc]
mov edx, dword [ebp - 0x20]
call fcn.00406f58
mov eax, dword [ebp - 0xdc]
call fcn.0040ebf0
mov dword [ebp - 0x80], eax
mov eax, dword [ebx + 0x60]
mov edx, dword [ebp - 0x80]
call fcn.00434870
mov word [ebx + 0x64], 0
mov eax, dword [ebx + 0x60]
mov edx, dword [ebp - 0x1c]
call fcn.00434e48
jmp 0x43fe00
push 0xa
call sub.kernel32.dll_Sleep_1
cmp byte [ebx + 0x48], 0
je 0x43fdea
mov eax, dword [ebx + 0x60]
call fcn.00435004
jmp 0x440dcd
mov eax, dword [0x455d74]
cmp dword [eax], 0
je 0x43fe00
mov eax, dword [0x455d74]
mov eax, dword [eax]
call fcn.00411bd0
mov eax, dword [ebx + 0x60]
cmp byte [eax + 0x38], 0
jne 0x43fdd0
cmp byte [ebp - 0x8d], 0
je 0x43fef5
mov eax, dword [ebp - 0x20]
call fcn.0040ebf0
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x80]
xor edx, edx
call fcn.0040e740
mov eax, dword [ebp - 0x80]
call fcn.0040e74c
push eax
lea eax, [ebp - 0x30]
mov ecx, 1
mov edx, dword [0x43f7f8]
call fcn.004080f4
add esp, 4
mov eax, dword [ebp - 0x80]
call fcn.0040e74c
mov ecx, eax
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x80]
call fcn.0040e768
mov eax, dword [ebp - 0x80]
call fcn.0040e74c
dec eax
test eax, eax
jl 0x43feba
inc eax
mov dword [ebp - 0xa0], eax
xor edi, edi
mov eax, dword [ebp - 0x30]
mov edx, edi
and edx, 0x800001ff
jns 0x43fe8d
dec edx
or edx, 0xfffffe00
inc edx
movzx edx, byte [edx + 0x455a58]
xor byte [eax + edi], dl
mov eax, edi
mov ecx, 0xc800
cdq
idiv ecx
test edx, edx
jne 0x43feb1
mov eax, dword [0x455d74]
mov eax, dword [eax]
call fcn.00411bd0
inc edi
dec dword [ebp - 0xa0]
jne 0x43fe78
mov eax, dword [ebp - 0x80]
call fcn.0040e74c
mov ecx, eax
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x94]
call fcn.0040e774
push 0
lea eax, [ebp - 0x30]
mov ecx, 1
mov edx, dword [0x43f7f8]
call fcn.004080f4
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.0040ad84
mov eax, dword [ebp - 0x80]
call fcn.0040e74c
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x80]
call fcn.0040ad84
lea eax, [ebp - 0xe8]
mov ecx, 0x441114
mov edx, dword [ebp - 0x20]
call fcn.00406f58
mov eax, dword [ebp - 0xe8]
call fcn.00406bd0
push eax
call sub.kernel32.dll_DeleteFileW
cmp word [ebx + 0x64], 0
jne 0x43ff49
mov eax, dword [ebp - 0xa4]
cmp dword [eax + 0xc], 0xc8
je 0x440071
mov cl, 1
mov edx, 0x441124
mov eax, esi
call fcn.0042d628
mov cl, 1
mov dl, 1
mov eax, dword [0x42c990]
call fcn.0042d8e8
mov edi, eax
mov edx, 0x441140
mov eax, esi
call fcn.0042db7c
mov ecx, eax
mov edx, 0x441154
mov eax, edi
call fcn.0042d6cc
mov ecx, 0x441170
mov edx, 0x441180
mov eax, edi
call fcn.0042d650
movzx ecx, word [ebx + 0x64]
mov edx, 0x44119c
mov eax, edi
call fcn.0042d6cc
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax + 0xc]
mov edx, 0x4411b8
mov eax, edi
call fcn.0042d6cc
mov edx, edi
mov eax, dword [ebp - 0x58]
call fcn.0042d388
push 0x4411e4
push dword [ebp - 0x1c]
push 0x441210
push 0x441224
lea edx, [ebp - 0xf0]
movzx eax, word [ebx + 0x64]
call fcn.0040c0fc
push dword [ebp - 0xf0]
push 0x441238
lea edx, [ebp - 0xf4]
movzx eax, word [ebx + 0x64]
call fcn.0043388c
push dword [ebp - 0xf4]
push 0x441248
push 0x441210
push 0x441258
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0xc]
call fcn.0040c0fc
push dword [ebp - 0xf8]
push 0x441210
lea ecx, [ebp - 0xfc]
mov edx, esi
mov eax, dword [0x42ca68]
call fcn.0042e288
push dword [ebp - 0xfc]
push 0x441210
lea eax, [ebp - 0xec]
mov edx, 0xe
call fcn.0040703c
mov edx, dword [ebp - 0xec]
mov eax, ebx
xor ecx, ecx
call fcn.0043dc04
jmp 0x4404e0
cmp dword [ebp - 0x84], 0
jne 0x44019c
mov cl, 1
mov edx, 0x441124
mov eax, esi
call fcn.0042d628
mov cl, 1
mov dl, 1
mov eax, dword [0x42c990]
call fcn.0042d8e8
mov edi, eax
mov edx, 0x441140
mov eax, esi
call fcn.0042db7c
mov ecx, eax
mov edx, 0x441154
mov eax, edi
call fcn.0042d6cc
mov ecx, 0x441288
mov edx, 0x441180
mov eax, edi
call fcn.0042d650
mov ecx, 0x4412a8
mov edx, 0x4412ec
mov eax, edi
call fcn.0042d650
mov edx, edi
mov eax, dword [ebp - 0x58]
call fcn.0042d388
push 0x4411e4
push dword [ebp - 0x1c]
push 0x441210
push 0x441224
lea edx, [ebp - 0x104]
movzx eax, word [ebx + 0x64]
call fcn.0040c0fc
push dword [ebp - 0x104]
push 0x441238
lea edx, [ebp - 0x108]
movzx eax, word [ebx + 0x64]
call fcn.0043388c
push dword [ebp - 0x108]
push 0x441248
push 0x441210
push 0x441258
lea edx, [ebp - 0x10c]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0xc]
call fcn.0040c0fc
push dword [ebp - 0x10c]
push 0x441210
lea ecx, [ebp - 0x110]
mov edx, esi
mov eax, dword [0x42ca68]
call fcn.0042e288
push dword [ebp - 0x110]
push 0x441210
push 0x441310
push 0x441210
lea eax, [ebp - 0x100]
mov edx, 0x10
call fcn.0040703c
mov edx, dword [ebp - 0x100]
mov eax, ebx
xor ecx, ecx
call fcn.0043dc04
jmp 0x4404e0
mov cl, 1
mov edx, 0x44137c
mov eax, esi
call fcn.0042d628
lea eax, [ebp - 0x114]
mov ecx, dword [ebp - 0x1c]
mov edx, 0x4413a0
call fcn.00406f58
mov edx, dword [ebp - 0x114]
mov eax, ebx
xor ecx, ecx
call fcn.0043dc04
lea eax, [ebp - 0x28]
xor edx, edx
call fcn.00406b98
mov edx, 0x4413c0
mov eax, esi
call fcn.0042d554
inc eax
jle 0x4402be
mov edx, 0x4413c0
mov eax, esi
call fcn.0042d4ec
lea edx, [ebp - 0x124]
mov ecx, dword [eax]
call dword [ecx]
lea eax, [ebp - 0x124]
call fcn.0042bad0
test al, al
je 0x44023e
lea ecx, [ebp - 0x128]
mov edx, 0x4413e8
mov eax, esi
call fcn.0042dbf0
mov edx, dword [ebp - 0x128]
mov eax, dword [0x42ca68]
call fcn.0042f2b8
mov ecx, eax
mov edx, 0x4413c0
mov eax, esi
call fcn.0042d5c0
mov edx, 0x4413c0
mov eax, esi
call fcn.0042d4ec
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x4402be
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 0x4402b3
push dword [ebp - 0x28]
push 0x441410
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 0x441424
lea eax, [ebp - 0x28]
mov edx, 4
call fcn.0040703c
inc dword [ebp - 0x68]
dec dword [ebp - 0xa0]
jne 0x440268
mov edx, 0x44142c
mov eax, esi
call fcn.0042d554
inc eax
jle 0x440351
mov edx, 0x44142c
mov eax, esi
call fcn.0042d4ec
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x440351
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 0x440346
push dword [ebp - 0x28]
push 0x441410
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 0x441424
lea eax, [ebp - 0x28]
mov edx, 4
call fcn.0040703c
inc dword [ebp - 0x68]
dec dword [ebp - 0xa0]
jne 0x4402fb
lea eax, [ebp - 0x13c]
mov ecx, dword [ebp - 0x28]
mov edx, 0x441454
call fcn.00406f58
mov edx, dword [ebp - 0x13c]
mov eax, ebx
xor ecx, ecx
call fcn.0043dc04
lea edx, [ebp - 0x140]
mov eax, dword [ebp - 0x28]
call fcn.0043c2f8
mov edx, dword [ebp - 0x140]
lea eax, [ebp - 0x28]
call fcn.00406b98
lea eax, [ebp - 0x144]
mov ecx, dword [ebp - 0x28]
mov edx, 0x44149c
call fcn.00406f58
mov edx, dword [ebp - 0x144]
mov eax, ebx
xor ecx, ecx
call fcn.0043dc04
push 1
push 0xf
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
call fcn.00438e54
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jne 0x4403f3
mov eax, ebx
xor ecx, ecx
mov edx, 0x4414cc
call fcn.0043dc04
mov cl, 1
mov edx, 0x441500
mov eax, esi
call fcn.0042d628
jmp 0x4404e0
mov cl, 1
mov dl, 1
mov eax, dword [0x42c990]
call fcn.0042d8e8
mov edi, eax
mov edx, 0x441140
mov eax, esi
call fcn.0042db7c
mov ecx, eax
mov edx, 0x441154
mov eax, edi
call fcn.0042d6cc
mov ecx, 0x44151c
mov edx, 0x441180
mov eax, edi
call fcn.0042d650
lea ecx, [ebp - 0x14c]
mov edx, 1
mov eax, dword [ebp - 0x88]
call fcn.0040c0b0
mov ecx, dword [ebp - 0x14c]
lea eax, [ebp - 0x148]
mov edx, 0x441534
call fcn.00406f58
mov ecx, dword [ebp - 0x148]
mov edx, 0x441540
mov eax, edi
call fcn.0042d650
mov edx, edi
mov eax, dword [ebp - 0x58]
call fcn.0042d388
push 0x441564
lea ecx, [ebp - 0x154]
mov edx, 1
mov eax, dword [ebp - 0x88]
call fcn.0040c0b0
push dword [ebp - 0x154]
push 0x441238
lea edx, [ebp - 0x158]
mov eax, dword [ebp - 0x88]
call fcn.00438db8
push dword [ebp - 0x158]
lea eax, [ebp - 0x150]
mov edx, 4
call fcn.0040703c
mov edx, dword [ebp - 0x150]
mov eax, ebx
xor ecx, ecx
call fcn.0043dc04
mov cl, 1
mov edx, 0x441124
mov eax, esi
call fcn.0042d628
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 0x440540
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 0x43fbd5
lea eax, [ebp - 8]
xor edx, edx
call fcn.00406b98
mov byte [ebp - 0x47], 0
mov edx, 0x4415a0
mov eax, dword [ebp - 0x38]
call fcn.0042d554
inc eax
jle 0x440b98
mov edx, 0x4415a0
mov eax, dword [ebp - 0x38]
call fcn.0042d4ec
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x440b98
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.00429834
lea edx, [ebp - 0x168]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov dword [ebp - 0x3c], eax
mov edx, 0x441140
mov eax, dword [ebp - 0x3c]
call fcn.0042db7c
mov edi, eax
mov edx, 0x4415c8
mov eax, dword [ebp - 0x3c]
call fcn.0042db7c
mov dword [ebp - 0x78], eax
mov edx, 0x4415e4
mov eax, dword [ebp - 0x38]
call fcn.0042d554
inc eax
jle 0x440612
mov edx, 0x4415fc
mov eax, dword [ebp - 0x3c]
call fcn.0042d554
inc eax
jle 0x440612
mov edx, 0x441618
mov eax, dword [ebp - 0x3c]
call fcn.0042db7c
mov dword [ebp - 0x74], eax
jmp 0x440622
mov edx, 0x441618
mov eax, dword [ebp - 0x38]
call fcn.0042db7c
mov dword [ebp - 0x74], eax
mov edx, 0x44162c
mov eax, dword [ebp - 0x3c]
call fcn.0042d554
inc eax
jle 0x440b89
mov edx, 0x441648
mov eax, dword [ebp - 0x3c]
call fcn.0042dcdc
test al, al
je 0x440b89
push dword [ebp - 0x10]
lea edx, [ebp - 0x16c]
mov eax, dword [ebp - 0x78]
call fcn.0040c0fc
push dword [ebp - 0x16c]
push 0x441664
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.0040703c
mov edx, 0x440ff8
mov eax, dword [ebp - 0x38]
call fcn.0042d4ec
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 0x4408f4
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.00429834
lea edx, [ebp - 0x17c]
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov esi, eax
mov edx, 0x441140
mov eax, esi
call fcn.0042db7c
cmp edi, eax
jne 0x4408e5
mov edx, 0x441500
mov eax, esi
call fcn.0042d554
inc eax
jle 0x440838
mov edx, 0x441674
mov eax, esi
call fcn.0042dcdc
test al, al
je 0x440838
lea edx, [ebp - 0x198]
mov eax, dword [ebp - 0x74]
call fcn.0040c0fc
push dword [ebp - 0x198]
push 0x441690
lea edx, [ebp - 0x19c]
mov eax, edi
call fcn.0040c0fc
push dword [ebp - 0x19c]
lea eax, [ebp - 0x194]
mov edx, 3
call fcn.0040703c
mov edx, dword [ebp - 0x194]
lea eax, [ebp - 0x190]
mov ecx, 0
call fcn.00406d88
mov edx, dword [ebp - 0x190]
lea ecx, [ebp - 0x18c]
mov eax, dword [ebp - 0x60]
call fcn.004136bc
mov edx, dword [ebp - 0x18c]
lea eax, [ebp - 0x188]
call fcn.00406d60
push dword [ebp - 0x188]
lea edx, [ebp - 0x1a0]
mov eax, dword [ebp - 0x78]
call fcn.0040c0fc
push dword [ebp - 0x1a0]
push 0x441664
lea eax, [ebp - 0x184]
mov edx, 3
call fcn.0040703c
mov edx, dword [ebp - 0x184]
lea eax, [ebp - 0x180]
mov ecx, 0
call fcn.00406d88
mov eax, dword [ebp - 0x180]
push eax
lea edx, [ebp - 0x1ac]
mov eax, dword [ebp - 0x74]
call fcn.0040c0fc
push dword [ebp - 0x1ac]
push 0x441690
lea edx, [ebp - 0x1b0]
mov eax, edi
call fcn.0040c0fc
push dword [ebp - 0x1b0]
lea eax, [ebp - 0x1a8]
mov edx, 3
call fcn.0040703c
mov edx, dword [ebp - 0x1a8]
lea eax, [ebp - 0x1a4]
mov ecx, 0
call fcn.00406d88
mov edx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x60]
pop ecx
call fcn.004137cc
mov byte [ebp - 0x46], 1
mov edx, 0x441124
mov eax, esi
call fcn.0042d554
inc eax
jle 0x4408e5
mov edx, 0x4416a0
mov eax, esi
call fcn.0042dcdc
test al, al
je 0x4408e5
lea edx, [ebp - 0x1bc]
mov eax, dword [ebp - 0x74]
call fcn.0040c0fc
mov edx, dword [ebp - 0x1bc]
lea eax, [ebp - 0x1b8]
mov ecx, 0
call fcn.00406d88
mov edx, dword [ebp - 0x1b8]
lea ecx, [ebp - 0x1b4]
mov eax, dword [ebp - 0x60]
call fcn.004136bc
lea eax, [ebp - 0x1b4]
mov edx, 0x4416bc
call fcn.004060f4
mov eax, dword [ebp - 0x1b4]
push eax
lea edx, [ebp - 0x1c4]
mov eax, dword [ebp - 0x74]
call fcn.0040c0fc
mov edx, dword [ebp - 0x1c4]
lea eax, [ebp - 0x1c0]
mov ecx, 0
call fcn.00406d88
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x60]
pop ecx
call fcn.004137cc
mov byte [ebp - 0x47], 1
inc dword [ebp - 0x64]
dec dword [ebp - 0xa0]
jne 0x4406b5
cmp byte [ebp - 0x46], 0
je 0x440b89
push dword [ebp - 8]
lea edx, [ebp - 0x1c8]
mov eax, dword [ebp - 0x78]
call fcn.0040c0fc
push dword [ebp - 0x1c8]
push 0x441664
lea eax, [ebp - 8]
mov edx, 3
call fcn.0040703c
mov edx, 0x4416c8
mov eax, dword [ebp - 0x3c]
call fcn.0042d554
inc eax
jle 0x440a72
mov byte [ebp - 0x45], 1
mov edx, 0x4415a0
mov eax, dword [ebp - 0x38]
call fcn.0042d4ec
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x4409f4
inc eax
mov dword [ebp - 0xa0], eax
xor edi, edi
mov edx, 0x4415a0
mov eax, dword [ebp - 0x38]
call fcn.0042d4ec
push eax
lea eax, [ebp - 0x1d8]
mov edx, edi
mov cl, 0xfc
call fcn.00429834
lea edx, [ebp - 0x1d8]
pop eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov edx, dword [0x42c990]
call fcn.00404dd0
mov esi, eax
mov edx, 0x441618
mov eax, dword [ebp - 0x3c]
call fcn.0042db7c
push eax
mov edx, 0x441618
mov eax, esi
call fcn.0042db7c
pop edx
cmp edx, eax
jne 0x4409e7
cmp byte [ebp - 0x45], 0
je 0x4409de
mov edx, 0x44162c
mov eax, dword [ebp - 0x3c]
call fcn.0042d554
inc eax
jle 0x4409de
mov edx, 0x441648
mov eax, esi
call fcn.0042dcdc
test al, al
jne 0x4409e2
xor eax, eax
jmp 0x4409e4
mov al, 1
mov byte [ebp - 0x45], al
inc edi
dec dword [ebp - 0xa0]
jne 0x440963
cmp byte [ebp - 0x45], 0
je 0x440b89
mov edx, 0x4416c8
mov eax, dword [ebp - 0x3c]
call fcn.0042d4ec
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x440b89
inc eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x64], 0
mov edx, 0x4416c8
mov eax, dword [ebp - 0x3c]
call fcn.0042d4ec
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.0042903c
mov eax, dword [ebp - 0x1dc]
call fcn.00438448
inc dword [ebp - 0x64]
dec dword [ebp - 0xa0]
jne 0x440a27
jmp 0x440b89
mov edx, 0x4416c8
mov eax, dword [ebp - 0x38]
call fcn.0042d554
inc eax
jle 0x440b89
mov byte [ebp - 0x45], 1
mov edx, 0x4415a0
mov eax, dword [ebp - 0x38]
call fcn.0042d4ec
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x440b18
inc eax
mov dword [ebp - 0xa0], eax
xor edi, edi
mov edx, 0x4415a0
mov eax, dword [ebp - 0x38]
call fcn.0042d4ec
push eax
lea eax, [ebp - 0x1fc]
mov edx, edi
mov cl, 0xfc
call fcn.00429834
lea edx, [ebp - 0x1fc]
pop eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov edx, dword [0x42c990]
call fcn.00404dd0
mov esi, eax
cmp byte [ebp - 0x45], 0
je 0x440b06
mov edx, 0x44162c
mov eax, dword [ebp - 0x3c]
call fcn.0042d554
inc eax
jle 0x440b06
mov edx, 0x441648
mov eax, esi
call fcn.0042dcdc
test al, al
jne 0x440b0a
xor eax, eax
jmp 0x440b0c
mov al, 1
mov byte [ebp - 0x45], al
inc edi
dec dword [ebp - 0xa0]
jne 0x440aaa
cmp byte [ebp - 0x45], 0
je 0x440b89
mov edx, 0x4416c8
mov eax, dword [ebp - 0x38]
call fcn.0042d4ec
mov edx, dword [eax]
call dword [edx + 0x10]
dec eax
test eax, eax
jl 0x440b89
inc eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x64], 0
mov edx, 0x4416c8
mov eax, dword [ebp - 0x38]
call fcn.0042d4ec
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.0042903c
mov eax, dword [ebp - 0x200]
call fcn.00438448
inc dword [ebp - 0x64]
dec dword [ebp - 0xa0]
jne 0x440b43
inc dword [ebp - 0x68]
dec dword [ebp - 0x9c]
jne 0x4405a0
inc dword [ebp - 0x70]
dec dword [ebp - 0x98]
jne 0x43fb2b
lea eax, [ebp - 0xc]
xor edx, edx
call fcn.00406b98
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 0x1c]
dec eax
test eax, eax
jl 0x440c32
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.0041388c
mov edx, dword [ebp - 0x218]
lea eax, [ebp - 0x214]
call fcn.00406d60
mov eax, dword [ebp - 0x214]
lea ecx, [ebp - 0x18]
mov dx, 0x2c
call fcn.00439160
mov edx, dword [ebp - 0x18]
mov eax, 0x4416e0
call fcn.004073b0
test eax, eax
jne 0x440c27
push dword [ebp - 0xc]
push dword [ebp - 0x18]
push 0x441664
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.0040703c
inc dword [ebp - 0x64]
dec dword [ebp - 0x98]
jne 0x440bca
cmp dword [ebx + 0x9c], 0
je 0x440c43
xor eax, eax
call dword [ebx + 0x9c]
lea ecx, [ebp - 0x21c]
mov dx, 0x2c
mov eax, dword [ebp - 0xc]
call fcn.00439160
mov edx, dword [ebp - 0x21c]
lea eax, [ebp - 0xc]
call fcn.00406b98
lea ecx, [ebp - 0x220]
mov dx, 0x2c
mov eax, dword [ebp - 0x10]
call fcn.00439160
mov edx, dword [ebp - 0x220]
lea eax, [ebp - 0x10]
call fcn.00406b98
push 0x4416f8
push dword [ebp - 0xc]
push 0x441248
lea eax, [ebp - 0x224]
mov edx, 3
call fcn.0040703c
mov edx, dword [ebp - 0x224]
mov eax, ebx
xor ecx, ecx
call fcn.0043dc04
push 0x441734
push dword [ebp - 0xc]
push 0x441764
push 0x441778
push dword [ebp - 0x10]
push 0x441764
push 0x4417b8
lea eax, [ebp - 0x228]
mov edx, 7
call fcn.0040703c
mov edx, dword [ebp - 0x228]
mov eax, dword [0x42ca68]
call fcn.0042f2b8
mov edx, dword [0x42c990]
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 0x440d22
mov edx, 0x4417ec
mov eax, dword [ebp - 0x40]
call fcn.0042d4ec
mov ecx, dword [ebp - 0x58]
mov edx, 0x441810
call fcn.0042d450
push 0x441828
lea ecx, [ebp - 0x230]
mov edx, dword [ebp - 0x40]
mov eax, dword [0x42ca68]
call fcn.0042e288
push dword [ebp - 0x230]
push 0x441850
lea eax, [ebp - 0x22c]
mov edx, 3
call fcn.0040703c
mov edx, dword [ebp - 0x22c]
mov eax, ebx
xor ecx, ecx
call fcn.0043dc04
mov eax, dword [ebx + 0x44]
mov edx, dword [ebp - 0x40]
call fcn.0043cd4c
mov edx, dword [0x42c990]
call fcn.00404dd0
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x238]
mov edx, dword [ebp - 0x44]
mov eax, dword [0x42ca68]
call fcn.0042e288
mov ecx, dword [ebp - 0x238]
lea eax, [ebp - 0x234]
mov edx, 0x441860
call fcn.00406f58
mov edx, dword [ebp - 0x234]
mov eax, ebx
xor ecx, ecx
call fcn.0043dc04
mov eax, dword [ebp - 0x40]
call fcn.00404b90
mov eax, dword [ebx + 0x60]
call fcn.0040ad84
mov eax, dword [ebp - 0x60]
call fcn.0040ad84
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x440f97
lea eax, [ebp - 0x238]
mov edx, 8
call fcn.00406b3c
lea eax, [ebp - 0x218]
call fcn.00405d94
lea eax, [ebp - 0x214]
call fcn.00406b34
lea eax, [ebp - 0x210]
call fcn.00424508
lea eax, [ebp - 0x200]
call fcn.00406b34
lea eax, [ebp - 0x1fc]
mov edx, dword [0x401220]
mov ecx, 2
call fcn.00407524
lea eax, [ebp - 0x1dc]
call fcn.00406b34
lea eax, [ebp - 0x1d8]
call fcn.00424508
lea eax, [ebp - 0x1c8]
mov edx, 2
call fcn.00406b3c
lea eax, [ebp - 0x1c0]
call fcn.00405d94
lea eax, [ebp - 0x1bc]
call fcn.00406b34
lea eax, [ebp - 0x1b8]
mov edx, 2
call fcn.00405db8
lea eax, [ebp - 0x1b0]
mov edx, 3
call fcn.00406b3c
lea eax, [ebp - 0x1a4]
call fcn.00405d94
lea eax, [ebp - 0x1a0]
mov edx, 4
call fcn.00406b3c
lea eax, [ebp - 0x190]
mov edx, 2
call fcn.00405db8
lea eax, [ebp - 0x188]
mov edx, 2
call fcn.00406b3c
lea eax, [ebp - 0x180]
call fcn.00405d94
lea eax, [ebp - 0x17c]
call fcn.00424508
lea eax, [ebp - 0x16c]
call fcn.00406b34
lea eax, [ebp - 0x168]
call fcn.00424508
lea eax, [ebp - 0x158]
mov edx, 0xd
call fcn.00406b3c
lea eax, [ebp - 0x124]
call fcn.00424508
lea eax, [ebp - 0x114]
mov edx, 0xc
call fcn.00406b3c
lea eax, [ebp - 0xe4]
call fcn.00405d94
lea eax, [ebp - 0xe0]
mov edx, 4
call fcn.00406b3c
lea eax, [ebp - 0xd0]
call fcn.00424508
lea eax, [ebp - 0xbc]
call fcn.00406b34
lea eax, [ebp - 0xb8]
call fcn.00424508
lea eax, [ebp - 0xa8]
call fcn.00406b34
lea eax, [ebp - 0x34]
call fcn.00409440
lea eax, [ebp - 0x30]
mov edx, dword [0x43f7f8]
call fcn.00408100
lea eax, [ebp - 0x2c]
call fcn.00409440
lea eax, [ebp - 0x28]
mov edx, 9
call fcn.00406b3c
ret