Function at 0x41c704
Capabilities:
Copy file
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x6d
push 0
push 0
dec ecx
jne 0x41c70c
push ecx
push ebx
push esi
push edi
mov eax, dword [0x421558]
mov byte [eax], 1
mov eax, 0x41c60c
call fcn.004061cc
xor eax, eax
push ebp
push 0x4202d2
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4214c8]
cmp byte [eax], 0
je 0x41c7ce
mov eax, dword [0x421450]
mov edx, 0x4202ec
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
mov eax, 0x422918
mov edx, 0x4202fc
call fcn.0040446c
mov byte [0x42292a], 1
mov eax, 0x42291c
mov edx, 0x42030c
call fcn.0040446c
mov eax, 0x422920
mov edx, 0x42032c
call fcn.0040446c
mov byte [0x422957], 1
mov byte [0x42292e], 1
mov byte [0x422932], 1
mov eax, 0x422924
mov edx, 0x420354
call fcn.0040446c
mov eax, 0x422944
mov edx, 0x420374
call fcn.0040446c
mov byte [0x422940], 1
jmp 0x41c81c
call fcn.00402954
dec eax
jge 0x41c7ef
call fcn.0041b1b4
mov eax, dword [0x4214f8]
call fcn.00402fe0
call fcn.00402794
jmp 0x420297
mov edx, 0x422918
mov eax, 1
call fcn.004029b4
mov edx, 0x42291c
mov eax, 2
call fcn.004029b4
mov edx, 0x422920
mov eax, 3
call fcn.004029b4
lea edx, [ebp - 0x18]
mov eax, dword [0x42291c]
call fcn.00407e0c
mov edx, dword [ebp - 0x18]
mov eax, 0x42291c
call fcn.0040446c
lea edx, [ebp - 0x1c]
mov eax, dword [0x422920]
call fcn.00407e0c
mov edx, dword [ebp - 0x1c]
mov eax, 0x422920
call fcn.0040446c
lea edx, [ebp - 0x24]
xor eax, eax
call fcn.004029b4
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x20]
call fcn.00407d58
mov edx, dword [ebp - 0x20]
mov eax, 0x422924
mov ecx, 0x420394
call fcn.00404724
mov dword [0x42295c], 1
jmp 0x41d291
lea edx, [ebp - 0x2c]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x28]
call fcn.0040752c
mov eax, dword [ebp - 0x28]
mov edx, 0x4203ac
call fcn.00404824
jne 0x41c8b4
mov byte [0x422929], 1
lea edx, [ebp - 0x34]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x30]
call fcn.0040752c
mov eax, dword [ebp - 0x30]
mov edx, 0x4203b8
call fcn.00404824
jne 0x41c8e2
mov byte [0x42292a], 1
lea edx, [ebp - 0x3c]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0x38]
call fcn.0040752c
mov eax, dword [ebp - 0x38]
mov edx, 0x4203c4
call fcn.00404824
jne 0x41c910
mov byte [0x422928], 1
lea edx, [ebp - 0x44]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x44]
lea edx, [ebp - 0x40]
call fcn.0040752c
mov eax, dword [ebp - 0x40]
mov edx, 0x4203d0
call fcn.00404824
jne 0x41c93e
mov byte [0x42295a], 1
lea edx, [ebp - 0x4c]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x48]
call fcn.0040752c
mov eax, dword [ebp - 0x48]
mov edx, 0x4203e0
call fcn.00404824
jne 0x41c96c
mov byte [0x422931], 1
lea edx, [ebp - 0x54]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.0040752c
mov eax, dword [ebp - 0x50]
mov edx, 0x4203f4
call fcn.00404824
jne 0x41c99a
mov byte [0x42292b], 1
lea edx, [ebp - 0x5c]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x5c]
lea edx, [ebp - 0x58]
call fcn.0040752c
mov eax, dword [ebp - 0x58]
mov edx, 0x420400
call fcn.00404824
jne 0x41c9c8
mov byte [0x42292c], 1
lea edx, [ebp - 0x64]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x64]
lea edx, [ebp - 0x60]
call fcn.0040752c
mov eax, dword [ebp - 0x60]
mov edx, 0x42040c
call fcn.00404824
jne 0x41c9f6
mov byte [0x42292d], 1
lea edx, [ebp - 0x6c]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x6c]
lea edx, [ebp - 0x68]
call fcn.0040752c
mov eax, dword [ebp - 0x68]
mov edx, 0x420418
call fcn.00404824
jne 0x41ca24
mov byte [0x422932], 1
lea edx, [ebp - 0x74]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x74]
lea edx, [ebp - 0x70]
call fcn.0040752c
mov eax, dword [ebp - 0x70]
mov edx, 0x420428
call fcn.00404824
jne 0x41ca52
mov byte [0x422936], 1
lea edx, [ebp - 0x7c]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x7c]
lea edx, [ebp - 0x78]
call fcn.0040752c
mov eax, dword [ebp - 0x78]
mov edx, 0x42043c
call fcn.00404824
jne 0x41ca80
mov byte [0x42292e], 1
lea edx, [ebp - 0x84]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x84]
lea edx, [ebp - 0x80]
call fcn.0040752c
mov eax, dword [ebp - 0x80]
mov edx, 0x420450
call fcn.00404824
jne 0x41cab4
mov byte [0x42292f], 1
lea edx, [ebp - 0x8c]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x8c]
lea edx, [ebp - 0x88]
call fcn.0040752c
mov eax, dword [ebp - 0x88]
mov edx, 0x420464
call fcn.00404824
jne 0x41caee
mov byte [0x422930], 1
lea edx, [ebp - 0x94]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x94]
lea edx, [ebp - 0x90]
call fcn.0040752c
mov eax, dword [ebp - 0x90]
mov edx, 0x420478
call fcn.00404824
jne 0x41cb28
mov byte [0x422933], 1
lea edx, [ebp - 0x9c]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x9c]
lea edx, [ebp - 0x98]
call fcn.0040752c
mov eax, dword [ebp - 0x98]
mov edx, 0x42048c
call fcn.00404824
jne 0x41cb62
mov byte [0x422934], 1
lea edx, [ebp - 0xa4]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0xa4]
lea edx, [ebp - 0xa0]
call fcn.0040752c
mov eax, dword [ebp - 0xa0]
mov edx, 0x4204a0
call fcn.00404824
jne 0x41cb9c
mov byte [0x422935], 1
lea edx, [ebp - 0xac]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xa8]
call fcn.0040752c
mov eax, dword [ebp - 0xa8]
mov edx, 0x4204b4
call fcn.00404824
jne 0x41cbd6
mov byte [0x422937], 1
lea edx, [ebp - 0xb4]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0xb4]
lea edx, [ebp - 0xb0]
call fcn.0040752c
mov eax, dword [ebp - 0xb0]
mov edx, 0x4204c4
call fcn.00404824
jne 0x41cc10
mov byte [0x422938], 1
lea edx, [ebp - 0xbc]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0xbc]
lea edx, [ebp - 0xb8]
call fcn.0040752c
mov eax, dword [ebp - 0xb8]
mov edx, 0x4204d4
call fcn.00404824
jne 0x41cc4a
mov byte [0x42293a], 1
lea edx, [ebp - 0xc4]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0xc4]
lea edx, [ebp - 0xc0]
call fcn.0040752c
mov eax, dword [ebp - 0xc0]
mov edx, 0x4204e8
call fcn.00404824
jne 0x41cc84
mov byte [0x422939], 1
lea edx, [ebp - 0xcc]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0xcc]
lea edx, [ebp - 0xc8]
call fcn.0040752c
mov eax, dword [ebp - 0xc8]
mov edx, 0x4204fc
call fcn.00404824
jne 0x41ccbe
mov byte [0x42293b], 1
lea edx, [ebp - 0xd4]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0xd4]
lea edx, [ebp - 0xd0]
call fcn.0040752c
mov eax, dword [ebp - 0xd0]
mov edx, 0x420518
call fcn.00404824
jne 0x41ccf8
mov byte [0x42293c], 1
lea edx, [ebp - 0xdc]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0xdc]
lea edx, [ebp - 0xd8]
call fcn.0040752c
mov eax, dword [ebp - 0xd8]
mov edx, 0x420530
call fcn.00404824
jne 0x41cd32
mov byte [0x42293d], 1
lea edx, [ebp - 0xe4]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0xe4]
lea edx, [ebp - 0xe0]
call fcn.0040752c
mov eax, dword [ebp - 0xe0]
mov edx, 0x420540
call fcn.00404824
jne 0x41cd6c
mov byte [0x422954], 1
lea edx, [ebp - 0xec]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0xec]
lea edx, [ebp - 0xe8]
call fcn.0040752c
mov eax, dword [ebp - 0xe8]
mov edx, 0x420550
call fcn.00404824
jne 0x41cda6
mov byte [0x422956], 1
lea edx, [ebp - 0xf4]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0xf4]
lea edx, [ebp - 0xf0]
call fcn.0040752c
mov eax, dword [ebp - 0xf0]
mov edx, 0x420568
call fcn.00404824
jne 0x41cde0
mov byte [0x422957], 1
lea edx, [ebp - 0xfc]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0xfc]
lea edx, [ebp - 0xf8]
call fcn.0040752c
mov eax, dword [ebp - 0xf8]
mov edx, 0x420580
call fcn.00404824
jne 0x41ce1a
mov byte [0x422958], 1
lea edx, [ebp - 0x104]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x104]
lea edx, [ebp - 0x100]
call fcn.0040752c
mov eax, dword [ebp - 0x100]
mov edx, 0x420594
call fcn.00404824
jne 0x41ce54
mov byte [0x422959], 1
lea edx, [ebp - 0x10c]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x10c]
lea edx, [ebp - 0x108]
call fcn.0040752c
mov eax, dword [ebp - 0x108]
mov edx, 0x4205b0
call fcn.00404824
jne 0x41ce8e
mov byte [0x422955], 1
lea edx, [ebp - 0x114]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x114]
lea edx, [ebp - 0x110]
call fcn.0040752c
mov eax, dword [ebp - 0x110]
mov edx, 0x4205cc
call fcn.00404824
jne 0x41d07c
call fcn.00402954
mov edx, dword [0x42295c]
inc edx
cmp eax, edx
jl 0x41d043
inc dword [0x42295c]
lea edx, [ebp - 0x118]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x118]
push eax
lea edx, [ebp - 0x120]
xor eax, eax
call fcn.004029b4
mov eax, dword [ebp - 0x120]
lea edx, [ebp - 0x11c]
call fcn.00407d58
mov edx, dword [ebp - 0x11c]
mov eax, 0x422924
pop ecx
call fcn.00404724
mov eax, dword [0x422924]
call fcn.0041873c
test al, al
jne 0x41d011
lea eax, [ebp - 0x124]
mov ecx, dword [0x422924]
mov edx, 0x4205dc
call fcn.00404724
mov edx, dword [ebp - 0x124]
mov eax, dword [0x421450]
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
lea edx, [ebp - 0x12c]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x12c]
lea edx, [ebp - 0x128]
call fcn.00407e0c
mov edx, dword [ebp - 0x128]
mov eax, 0x422924
call fcn.0040446c
mov eax, dword [0x422924]
call fcn.0041873c
test al, al
jne 0x41d07c
mov eax, dword [0x421450]
mov edx, 0x4205f8
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
mov eax, dword [0x421450]
mov edx, 0x420620
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
lea edx, [ebp - 0x134]
xor eax, eax
call fcn.004029b4
mov eax, dword [ebp - 0x134]
lea edx, [ebp - 0x130]
call fcn.00407d58
mov edx, dword [ebp - 0x130]
mov eax, 0x422924
mov ecx, 0x420394
call fcn.00404724
jmp 0x41d07c
lea eax, [ebp - 0x138]
mov ecx, dword [0x422924]
mov edx, 0x420644
call fcn.00404724
mov edx, dword [ebp - 0x138]
mov eax, dword [0x421450]
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
jmp 0x41d07c
call fcn.0041b1b4
mov eax, dword [0x421450]
xor edx, edx
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
mov eax, dword [0x421450]
mov edx, 0x42065c
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
jmp 0x420297
lea edx, [ebp - 0x140]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x140]
lea edx, [ebp - 0x13c]
call fcn.0040752c
mov eax, dword [ebp - 0x13c]
mov edx, 0x420680
call fcn.00404824
jne 0x41d14a
mov byte [0x422940], 1
call fcn.00402954
mov edx, dword [0x42295c]
inc edx
cmp eax, edx
jge 0x41d103
call fcn.0041b1b4
mov eax, dword [0x421450]
xor edx, edx
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
mov eax, dword [0x421450]
mov edx, 0x42069c
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
jmp 0x420297
lea edx, [ebp - 0x144]
mov eax, dword [0x42295c]
inc eax
call fcn.004029b4
mov eax, dword [ebp - 0x144]
push eax
lea edx, [ebp - 0x14c]
xor eax, eax
call fcn.004029b4
mov eax, dword [ebp - 0x14c]
lea edx, [ebp - 0x148]
call fcn.00407d58
mov edx, dword [ebp - 0x148]
mov eax, 0x422944
pop ecx
call fcn.00404724
lea edx, [ebp - 0x154]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x154]
lea edx, [ebp - 0x150]
call fcn.0040752c
mov eax, dword [ebp - 0x150]
mov edx, 0x4206c0
call fcn.00404824
jne 0x41d1dd
mov byte [0x42294c], 1
call fcn.00402954
mov edx, dword [0x42295c]
inc edx
cmp eax, edx
jge 0x41d1cd
call fcn.0041b1b4
mov eax, dword [0x421450]
xor edx, edx
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
mov eax, dword [0x421450]
mov edx, 0x4206d8
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
jmp 0x420297
mov edx, 0x422950
mov eax, dword [0x42295c]
inc eax
call fcn.004029b4
lea edx, [ebp - 0x15c]
mov eax, dword [0x42295c]
call fcn.004029b4
mov eax, dword [ebp - 0x15c]
lea edx, [ebp - 0x158]
call fcn.0040752c
mov eax, dword [ebp - 0x158]
mov edx, 0x42070c
call fcn.00404824
jne 0x41d28b
call fcn.00402954
mov edx, dword [0x42295c]
inc edx
cmp eax, edx
jge 0x41d259
call fcn.0041b1b4
mov eax, dword [0x421450]
xor edx, edx
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
mov eax, dword [0x421450]
mov edx, 0x42069c
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
jmp 0x420297
lea edx, [ebp - 0x164]
mov eax, dword [0x42295c]
inc eax
call fcn.004029b4
mov eax, dword [ebp - 0x164]
lea edx, [ebp - 0x160]
call fcn.00407e0c
mov edx, dword [ebp - 0x160]
mov eax, 0x422960
call fcn.0040446c
inc dword [0x42295c]
call fcn.00402954
cmp eax, dword [0x42295c]
jge 0x41c886
mov eax, dword [0x42291c]
call fcn.0041873c
test al, al
jne 0x41d2f2
cmp byte [0x422954], 0
jne 0x420297
lea eax, [ebp - 0x168]
mov ecx, dword [0x42291c]
mov edx, 0x420720
call fcn.00404724
mov edx, dword [ebp - 0x168]
mov eax, dword [0x421450]
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
jmp 0x420297
mov eax, dword [0x422920]
call fcn.0041873c
test al, al
jne 0x41d353
mov eax, dword [0x422918]
mov edx, 0x4202fc
call fcn.00404824
jne 0x41d353
cmp byte [0x422954], 0
jne 0x420297
lea eax, [ebp - 0x16c]
mov ecx, dword [0x422920]
mov edx, 0x420720
call fcn.00404724
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x421450]
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
jmp 0x420297
mov eax, dword [0x422924]
call fcn.0041873c
test al, al
jne 0x41d3aa
lea eax, [ebp - 0x170]
mov ecx, dword [0x422924]
mov edx, 0x4205dc
call fcn.00404724
mov edx, dword [ebp - 0x170]
mov eax, dword [0x421450]
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
mov eax, dword [0x421450]
mov edx, 0x420738
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
cmp byte [0x422954], 0
jne 0x41d3cc
mov eax, dword [0x421450]
mov edx, 0x42075c
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
cmp dword [0x422960], 0
je 0x41d40c
mov eax, dword [0x422960]
call fcn.004186c0
push 0
mov eax, dword [0x422960]
call fcn.004048d8
push eax
mov eax, dword [0x42291c]
call fcn.004048d8
push eax
call sub.kernel32.dll_CopyFileA
mov eax, 0x42291c
mov edx, dword [0x422960]
call fcn.0040446c
mov dl, 1
mov eax, dword [0x410e4c]
call fcn.004036d0
mov dword [0x4228e8], eax
mov edx, dword [0x422924]
mov eax, dword [0x4228e8]
mov ecx, dword [eax]
call dword [ecx + 0x68]
push 0
mov eax, 0x4228ec
mov ecx, 1
mov edx, dword [0x419820]
call fcn.004053dc
add esp, 4
push 0
mov eax, 0x4228f0
mov ecx, 1
mov edx, dword [0x41984c]
call fcn.004053dc
add esp, 4
xor eax, eax
mov dword [0x4228f4], eax
mov dword [0x4228c0], 6
cmp byte [0x422955], 0
je 0x41d485
mov dword [0x4228c0], 7
mov eax, dword [0x4228e8]
mov edx, dword [eax]
call dword [edx + 0x14]
cdq
idiv dword [0x4228c0]
push eax
mov eax, 0x4228ec
mov ecx, 1
mov edx, dword [0x419820]
call fcn.004053dc
add esp, 4
mov eax, dword [0x4228ec]
call fcn.00405220
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x41d6b2
inc ebx
xor esi, esi
lea eax, [esi + esi*4]
mov edx, dword [0x4228ec]
mov byte [edx + eax*8], 1
lea ecx, [ebp - 0x174]
mov edx, esi
imul edx, dword [0x4228c0]
mov eax, dword [0x4228e8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x174]
lea eax, [esi + esi*4]
mov ecx, dword [0x4228ec]
lea eax, [ecx + eax*8 + 0xc]
call fcn.0040446c
lea ecx, [ebp - 0x178]
mov edx, esi
imul edx, dword [0x4228c0]
inc edx
mov eax, dword [0x4228e8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x178]
lea eax, [esi + esi*4]
mov ecx, dword [0x4228ec]
lea eax, [ecx + eax*8 + 0x10]
call fcn.0040446c
lea ecx, [ebp - 0x17c]
mov edx, esi
imul edx, dword [0x4228c0]
add edx, 2
mov eax, dword [0x4228e8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x17c]
lea edx, [esi + esi*4]
mov ecx, dword [0x4228ec]
lea edx, [ecx + edx*8 + 0x14]
call fcn.00407878
test al, al
jne 0x41d58d
mov eax, dword [0x421450]
mov edx, 0x420774
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
jmp 0x420297
lea ecx, [ebp - 0x180]
mov edx, esi
imul edx, dword [0x4228c0]
add edx, 3
mov eax, dword [0x4228e8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x180]
lea edx, [esi + esi*4]
mov ecx, dword [0x4228ec]
lea edx, [ecx + edx*8 + 0x18]
call fcn.00407878
test al, al
jne 0x41d5e3
mov eax, dword [0x421450]
mov edx, 0x4207a4
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
jmp 0x420297
lea ecx, [ebp - 0x188]
mov edx, esi
imul edx, dword [0x4228c0]
add edx, 4
mov eax, dword [0x4228e8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x188]
lea edx, [ebp - 0x184]
call fcn.0041b0d4
mov edx, dword [ebp - 0x184]
lea eax, [esi + esi*4]
mov ecx, dword [0x4228ec]
lea eax, [ecx + eax*8 + 0x1c]
call fcn.0040446c
lea ecx, [ebp - 0x190]
mov edx, esi
imul edx, dword [0x4228c0]
add edx, 5
mov eax, dword [0x4228e8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x190]
lea edx, [ebp - 0x18c]
call fcn.0041b0d4
mov edx, dword [ebp - 0x18c]
lea eax, [esi + esi*4]
mov ecx, dword [0x4228ec]
lea eax, [ecx + eax*8 + 0x20]
call fcn.0040446c
cmp byte [0x422955], 0
je 0x41d6aa
lea ecx, [ebp - 0x194]
mov edx, esi
imul edx, dword [0x4228c0]
add edx, 6
mov eax, dword [0x4228e8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x194]
lea eax, [esi + esi*4]
mov ecx, dword [0x4228ec]
lea eax, [ecx + eax*8 + 0x24]
call fcn.0040446c
inc esi
dec ebx
jne 0x41d4c7
mov eax, dword [0x4228e8]
call fcn.00403700
cmp byte [0x42295a], 0
je 0x41d731
mov dl, 1
mov eax, dword [0x418cd8]
call fcn.00418e08
mov dword [0x4228c8], eax
xor ecx, ecx
mov edx, dword [0x42291c]
mov eax, dword [0x4228c8]
call fcn.004190dc
mov eax, dword [0x4228c8]
mov eax, dword [eax + 0x30]
mov dword [0x4228cc], eax
mov eax, dword [0x4228c8]
mov al, byte [eax + 0x34]
mov byte [0x4228d0], al
lea edx, [ebp - 0x198]
mov eax, dword [0x4228c8]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0x198]
mov eax, 0x4228d8
call fcn.0040446c
mov eax, 0x4228c8
call fcn.0040c65c
jmp 0x41d88e
push 0x42
mov ecx, dword [0x42291c]
mov dl, 1
mov eax, dword [0x41104c]
call fcn.00413a08
mov dword [0x4228c4], eax
mov eax, dword [0x4228c4]
mov edx, dword [eax]
call dword [edx]
push edx
push eax
mov eax, dword [0x4213bc]
mov edx, dword [0x4213c0]
add eax, 0xf4240
adc edx, 0
cmp edx, dword [esp + 4]
jne 0x41d77c
cmp eax, dword [esp]
pop edx
pop eax
jae 0x41d80c
jmp 0x41d784
pop edx
pop eax
jge 0x41d80c
mov eax, dword [0x421450]
mov edx, 0x4207d8
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
mov eax, dword [0x4228ec]
push dword [eax + 0xc]
push 0x4207f0
mov eax, dword [0x4228ec]
push dword [eax + 0x10]
lea eax, [ebp - 0x19c]
mov edx, 3
call fcn.00404798
mov ecx, dword [ebp - 0x19c]
mov eax, 0x4228c4
mov edx, dword [0x42291c]
call fcn.00419d00
mov eax, dword [0x421450]
mov edx, 0x4207fc
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
cmp byte [0x422954], 0
jne 0x41d80c
mov eax, 0x420818
call fcn.00419c38
test al, al
je 0x420297
mov eax, dword [0x4228c4]
mov edx, dword [eax]
call dword [edx]
mov edx, eax
mov eax, 0x4228d8
call fcn.00404a64
mov eax, dword [0x4228c4]
mov edx, dword [eax]
call dword [edx]
push eax
mov eax, dword [0x4228d8]
call fcn.004048d8
mov edx, eax
mov eax, dword [0x4228c4]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [0x4228c4]
mov edx, dword [eax]
call dword [edx]
push edx
push eax
mov eax, dword [0x4228d8]
call fcn.004046d8
cdq
cmp edx, dword [esp + 4]
jne 0x41d867
cmp eax, dword [esp]
pop edx
pop eax
jae 0x41d884
jmp 0x41d86b
pop edx
pop eax
jge 0x41d884
mov eax, dword [0x421450]
mov edx, 0x42082c
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
mov eax, 0x4228c4
call fcn.0040c65c
cmp byte [0x422957], 0
je 0x41d8c1
lea eax, [ebp - 0x1a0]
push eax
lea edx, [ebp - 0x1a0]
or ecx, 0xffffffff
mov eax, dword [0x4228d8]
call fcn.00418b1c
mov edx, dword [ebp - 0x1a0]
mov eax, 0x4228d8
call fcn.0040446c
lea edx, [ebp - 0x1a4]
mov eax, dword [0x422918]
call fcn.0040752c
mov eax, dword [ebp - 0x1a4]
mov edx, 0x420858
call fcn.00404824
je 0x41d909
lea edx, [ebp - 0x1a8]
mov eax, dword [0x422918]
call fcn.0040752c
mov eax, dword [ebp - 0x1a8]
mov edx, 0x4202fc
call fcn.00404824
jne 0x420297
cmp byte [0x422959], 0
je 0x41d95f
mov eax, dword [0x4228d8]
call fcn.004046d8
mov edx, dword [0x4228d8]
cmp byte [edx + eax - 1], 0xd
je 0x41d95f
mov eax, dword [0x4228d8]
call fcn.004046d8
mov edx, dword [0x4228d8]
cmp byte [edx + eax - 1], 0xa
je 0x41d95f
push dword [0x4228d8]
push 0x420868
push 0x420874
mov eax, 0x4228d8
mov edx, 3
call fcn.00404798
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4173b4]
call fcn.00417724
mov esi, eax
mov dl, byte [0x420878]
mov eax, esi
call fcn.00417d3c
cmp byte [0x422956], 0
jne 0x41d995
mov dl, byte [esi + 0x32]
or dl, byte [0x42087c]
mov eax, esi
call fcn.00417d3c
mov edx, dword [0x4228d8]
mov eax, esi
call fcn.00417e2c
mov dword [0x4228b8], 1
mov eax, dword [0x4228ec]
call fcn.00405220
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x41da5b
inc ebx
xor edi, edi
lea eax, [edi + edi*4]
mov edx, dword [0x4228ec]
push dword [edx + eax*8 + 0xc]
push 0x4207f0
lea eax, [edi + edi*4]
mov edx, dword [0x4228ec]
push dword [edx + eax*8 + 0x10]
lea eax, [ebp - 0x1ac]
mov edx, 3
call fcn.00404798
mov edx, dword [ebp - 0x1ac]
mov eax, esi
call fcn.00417dc8
mov edx, dword [0x4228b8]
mov eax, esi
call fcn.00417df0
mov eax, esi
call fcn.00417c6c
test al, al
je 0x41da46
xor edx, edx
mov eax, esi
call fcn.0041799c
lea edx, [edi + edi*4]
mov ecx, dword [0x4228ec]
mov dword [ecx + edx*8 + 4], eax
xor edx, edx
mov eax, esi
call fcn.00417884
lea edx, [edi + edi*4]
mov ecx, dword [0x4228ec]
mov dword [ecx + edx*8 + 8], eax
jmp 0x41da53
lea eax, [edi + edi*4]
mov edx, dword [0x4228ec]
mov byte [edx + eax*8], 0
inc edi
dec ebx
jne 0x41d9c4
mov dl, 1
mov eax, dword [0x410e4c]
call fcn.004036d0
mov dword [0x4228fc], eax
xor edx, edx
push ebp
push 0x41e37f
push dword fs:[edx]
mov dword fs:[edx], esp
mov byte [0x422968], 0
mov dword [0x42296c], 0x7fffffff
xor eax, eax
mov dword [0x422970], eax
mov eax, dword [0x4228ec]
call fcn.00405220
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x41daea
inc ebx
xor edi, edi
lea eax, [edi + edi*4]
mov edx, dword [0x4228ec]
cmp byte [edx + eax*8], 0
je 0x41dae6
mov byte [0x422968], 1
mov edx, dword [0x4228ec]
mov eax, dword [edx + eax*8 + 4]
cmp eax, dword [0x42296c]
jge 0x41dae6
lea eax, [edi + edi*4]
mov edx, dword [0x4228ec]
mov eax, dword [edx + eax*8 + 4]
mov dword [0x42296c], eax
mov dword [0x422970], edi
inc edi
dec ebx
jne 0x41daa6
cmp byte [0x422968], 0
je 0x41e340
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov eax, dword [edx + eax*8 + 4]
cmp eax, dword [0x4228b8]
jl 0x41e2b8
push 0x422974
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov ecx, dword [edx + eax*8 + 8]
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov edx, dword [edx + eax*8 + 4]
mov eax, dword [esi + 0x3c]
call fcn.00404938
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4173b4]
call fcn.00417724
mov edi, eax
mov dl, byte [0x420880]
mov eax, edi
call fcn.00417d3c
mov edx, dword [0x422974]
mov eax, edi
call fcn.00417e2c
mov ebx, 1
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov edx, dword [edx + eax*8 + 0xc]
mov eax, edi
call fcn.00417dc8
mov eax, 0x422978
call fcn.00404418
mov eax, edi
call fcn.00417bb4
test al, al
je 0x41dbc2
lea ecx, [ebp - 0x1b0]
xor edx, edx
mov eax, edi
call fcn.00417aac
mov edx, dword [ebp - 0x1b0]
mov eax, 0x422978
call fcn.0040446c
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4173b4]
call fcn.00417724
mov dword [0x422964], eax
mov dl, byte [0x420880]
mov eax, dword [0x422964]
call fcn.00417d3c
mov edx, dword [0x422974]
mov eax, dword [0x422964]
call fcn.00417e2c
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov edx, dword [edx + eax*8 + 0x10]
mov eax, dword [0x422964]
call fcn.00417dc8
mov eax, 0x422980
call fcn.00404418
mov eax, dword [0x422964]
call fcn.00417bb4
test al, al
je 0x41dc4b
lea ecx, [ebp - 0x1b4]
xor edx, edx
mov eax, dword [0x422964]
call fcn.00417aac
mov edx, dword [ebp - 0x1b4]
mov eax, 0x422980
call fcn.0040446c
mov eax, dword [0x422964]
call fcn.00403700
cmp byte [0x42292a], 0
je 0x41dcfd
mov eax, dword [0x422978]
call fcn.004046d8
mov edx, eax
add edx, ebx
mov eax, edi
call fcn.00417df0
mov eax, dword [edi + 0x3c]
call fcn.004046d8
push eax
mov eax, dword [0x422980]
call fcn.004046d8
pop edx
sub edx, eax
mov eax, edi
call fcn.00417e04
jmp 0x41dcf2
xor edx, edx
mov eax, edi
call fcn.0041799c
mov ebx, eax
lea ecx, [ebp - 0x1b8]
xor edx, edx
mov eax, edi
call fcn.00417aac
mov edx, dword [ebp - 0x1b8]
mov eax, 0x422978
call fcn.0040446c
mov eax, dword [0x422978]
call fcn.004046d8
mov edx, eax
add edx, ebx
mov eax, edi
call fcn.00417df0
mov eax, dword [edi + 0x3c]
call fcn.004046d8
push eax
mov eax, dword [0x422980]
call fcn.004046d8
pop edx
sub edx, eax
mov eax, edi
call fcn.00417e04
mov eax, edi
call fcn.00417c6c
test al, al
jne 0x41dc96
mov eax, edi
call fcn.00403700
push 0x42297c
mov eax, dword [0x422974]
call fcn.004046d8
mov edi, eax
mov eax, dword [0x422978]
call fcn.004046d8
add eax, ebx
sub edi, eax
inc edi
mov eax, dword [0x422980]
call fcn.004046d8
sub edi, eax
push edi
mov eax, dword [0x422978]
call fcn.004046d8
mov edx, eax
add edx, ebx
mov eax, dword [0x422974]
pop ecx
call fcn.00404938
cmp dword [0x42297c], 0
jne 0x41dd60
cmp byte [0x422928], 0
je 0x41e23a
inc dword [0x4228f4]
mov eax, dword [0x4228f0]
call fcn.00405220
cdq
push edx
push eax
mov eax, dword [0x4228f4]
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x41dd89
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x41ddb5
jmp 0x41dd8d
pop edx
pop eax
jle 0x41ddb5
mov eax, dword [0x4228f0]
call fcn.00405220
add eax, 0x400
push eax
mov eax, 0x4228f0
mov ecx, 1
mov edx, dword [0x41984c]
call fcn.004053dc
add esp, 4
mov eax, dword [0x4228f4]
lea eax, [eax + eax*4]
mov edx, dword [0x4228f0]
mov ecx, dword [0x422970]
mov dword [edx + eax*4 - 0x14], ecx
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
cmp dword [edx + eax*8 + 0x14], 0
jge 0x41df02
mov eax, dword [0x422978]
call fcn.004046d8
mov ecx, eax
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov eax, dword [edx + eax*8 + 0x14]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jl 0x41de98
mov eax, dword [0x422978]
call fcn.004046d8
mov edx, dword [0x422970]
lea edx, [edx + edx*4]
mov ecx, dword [0x4228ec]
add eax, dword [ecx + edx*8 + 0x14]
mov dword [0x4228d4], eax
lea eax, [ebp - 0x1bc]
push eax
mov eax, dword [0x422978]
call fcn.004046d8
mov ecx, eax
sub ecx, dword [0x4228d4]
mov edx, dword [0x4228d4]
inc edx
mov eax, dword [0x422978]
call fcn.00404938
mov edx, dword [ebp - 0x1bc]
mov eax, 0x42297c
mov ecx, dword [0x42297c]
call fcn.00404724
mov eax, dword [0x422978]
call fcn.004046d8
mov ecx, eax
sub ecx, dword [0x4228d4]
mov edx, dword [0x4228d4]
inc edx
mov eax, 0x422978
call fcn.00404978
jmp 0x41df02
xor eax, eax
mov dword [0x4228d4], eax
lea eax, [ebp - 0x1c0]
push eax
mov eax, dword [0x422978]
call fcn.004046d8
mov ecx, eax
sub ecx, dword [0x4228d4]
mov edx, dword [0x4228d4]
inc edx
mov eax, dword [0x422978]
call fcn.00404938
mov edx, dword [ebp - 0x1c0]
mov eax, 0x42297c
mov ecx, dword [0x42297c]
call fcn.00404724
mov eax, dword [0x422978]
call fcn.004046d8
mov ecx, eax
sub ecx, dword [0x4228d4]
mov edx, dword [0x4228d4]
inc edx
mov eax, 0x422978
call fcn.00404978
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
cmp dword [edx + eax*8 + 0x14], 0
jle 0x41df70
lea eax, [ebp - 0x1c4]
push eax
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov ecx, dword [edx + eax*8 + 0x14]
mov edx, 1
mov eax, dword [0x42297c]
call fcn.00404938
mov edx, dword [ebp - 0x1c4]
mov eax, 0x422978
call fcn.004046e0
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov ecx, dword [edx + eax*8 + 0x14]
mov eax, 0x42297c
mov edx, 1
call fcn.00404978
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
cmp dword [edx + eax*8 + 0x18], 0
jge 0x41e00e
mov eax, dword [0x42297c]
call fcn.004046d8
mov edx, dword [0x422970]
lea edx, [edx + edx*4]
mov ecx, dword [0x4228ec]
add eax, dword [ecx + edx*8 + 0x18]
mov dword [0x4228d4], eax
lea eax, [ebp - 0x1c8]
push eax
mov eax, dword [0x42297c]
call fcn.004046d8
mov ecx, eax
sub ecx, dword [0x4228d4]
mov edx, dword [0x4228d4]
inc edx
mov eax, dword [0x42297c]
call fcn.00404938
mov edx, dword [ebp - 0x1c8]
mov eax, 0x422980
mov ecx, dword [0x422980]
call fcn.00404724
mov eax, dword [0x42297c]
call fcn.004046d8
mov ecx, eax
sub ecx, dword [0x4228d4]
mov edx, dword [0x4228d4]
inc edx
mov eax, 0x42297c
call fcn.00404978
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
cmp dword [edx + eax*8 + 0x18], 0
jle 0x41e0ee
mov eax, dword [0x422980]
call fcn.004046d8
mov edx, dword [0x422970]
lea edx, [edx + edx*4]
mov ecx, dword [0x4228ec]
cmp eax, dword [ecx + edx*8 + 0x18]
jl 0x41e0a1
lea eax, [ebp - 0x1cc]
push eax
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov ecx, dword [edx + eax*8 + 0x18]
mov edx, 1
mov eax, dword [0x422980]
call fcn.00404938
mov edx, dword [ebp - 0x1cc]
mov eax, 0x42297c
call fcn.004046e0
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov ecx, dword [edx + eax*8 + 0x18]
mov eax, 0x422980
mov edx, 1
call fcn.00404978
jmp 0x41e0ee
lea eax, [ebp - 0x1d0]
push eax
mov eax, dword [0x422980]
call fcn.004046d8
mov ecx, eax
mov edx, 1
mov eax, dword [0x422980]
call fcn.00404938
mov edx, dword [ebp - 0x1d0]
mov eax, 0x42297c
call fcn.004046e0
mov eax, dword [0x422980]
call fcn.004046d8
mov ecx, eax
mov eax, 0x422980
mov edx, 1
call fcn.00404978
mov eax, dword [0x4228f4]
lea eax, [eax + eax*4]
mov edx, dword [0x4228f0]
lea eax, [edx + eax*4 - 0x10]
mov edx, dword [0x422978]
call fcn.0040446c
mov eax, dword [0x4228f4]
lea eax, [eax + eax*4]
mov edx, dword [0x4228f0]
lea eax, [edx + eax*4 - 0xc]
mov edx, dword [0x422980]
call fcn.0040446c
mov eax, dword [0x4228f4]
lea eax, [eax + eax*4]
mov edx, dword [0x4228f0]
lea eax, [edx + eax*4 - 8]
mov edx, dword [0x422970]
lea edx, [edx + edx*4]
mov ecx, dword [0x4228ec]
mov edx, dword [ecx + edx*8 + 0xc]
call fcn.0040446c
mov eax, dword [0x4228f4]
lea eax, [eax + eax*4]
mov edx, dword [0x4228f0]
lea eax, [edx + eax*4 - 4]
mov edx, dword [0x422970]
lea edx, [edx + edx*4]
mov ecx, dword [0x4228ec]
mov edx, dword [ecx + edx*8 + 0x10]
call fcn.0040446c
cmp byte [0x422958], 0
jne 0x41e23a
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
push dword [edx + eax*8 + 0x1c]
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov edx, dword [edx + eax*8 + 0x24]
lea ecx, [ebp - 0x1d8]
mov eax, dword [0x42297c]
call fcn.0041a240
push dword [ebp - 0x1d8]
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
push dword [edx + eax*8 + 0x20]
lea eax, [ebp - 0x1d4]
mov edx, 3
call fcn.00404798
mov edx, dword [ebp - 0x1d4]
mov eax, dword [0x4228fc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
push dword [edx + eax*8 + 0x1c]
push dword [0x42297c]
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
push dword [edx + eax*8 + 0x20]
lea eax, [ebp - 0x1dc]
mov edx, 3
call fcn.00404798
mov eax, dword [ebp - 0x1dc]
call fcn.00419f9c
cmp byte [0x42292b], 0
jne 0x41e26c
mov eax, dword [0x422978]
call fcn.004046d8
mov edx, dword [0x422970]
lea edx, [edx + edx*4]
mov ecx, dword [0x4228ec]
mov edx, dword [ecx + edx*8 + 4]
dec ebx
add edx, ebx
add eax, edx
mov dword [0x4228b8], eax
jmp 0x41e286
mov eax, dword [0x422970]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov eax, dword [edx + eax*8 + 4]
dec ebx
add eax, ebx
mov dword [0x4228b8], eax
cmp byte [0x42292c], 0
jne 0x41e29f
mov eax, dword [0x42297c]
call fcn.004046d8
add dword [0x4228b8], eax
cmp byte [0x42292d], 0
je 0x41e2b8
mov eax, dword [0x422980]
call fcn.004046d8
add dword [0x4228b8], eax
mov edx, dword [0x4228b8]
mov eax, esi
call fcn.00417df0
mov ebx, dword [0x422970]
lea ebx, [ebx + ebx*4]
mov eax, dword [0x4228ec]
push dword [eax + ebx*8 + 0xc]
push 0x4207f0
mov eax, dword [0x4228ec]
push dword [eax + ebx*8 + 0x10]
lea eax, [ebp - 0x1e0]
mov edx, 3
call fcn.00404798
mov edx, dword [ebp - 0x1e0]
mov eax, esi
call fcn.00417dc8
mov eax, esi
call fcn.00417c6c
test al, al
je 0x41e335
xor edx, edx
mov eax, esi
call fcn.0041799c
mov edx, dword [0x4228ec]
mov dword [edx + ebx*8 + 4], eax
xor edx, edx
mov eax, esi
call fcn.00417884
mov edx, dword [0x4228ec]
mov dword [edx + ebx*8 + 8], eax
jmp 0x41e35e
mov eax, dword [0x4228ec]
mov byte [eax + ebx*8], 0
jmp 0x41e35e
mov eax, dword [0x4228f4]
push eax
mov eax, 0x4228f0
mov ecx, 1
mov edx, dword [0x41984c]
call fcn.004053dc
add esp, 4
cmp byte [0x422968], 0
jne 0x41da7a
mov eax, esi
call fcn.00403700
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x41e43e
cmp byte [0x422929], 0
je 0x41e5ef
mov eax, dword [0x4228fc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x41e519
inc ebx
mov dword [0x4228f8], 0
mov eax, dword [0x4228fc]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, dword [0x4228f8]
jle 0x41e50c
lea ecx, [ebp - 0x1f4]
mov edx, dword [0x4228f8]
mov eax, dword [0x4228fc]
mov esi, dword [eax]
call dword [esi + 0xc]
cmp dword [ebp - 0x1f4], 0
je 0x41e50c
mov esi, dword [0x4228f8]
inc esi
mov eax, dword [0x4228fc]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
sub eax, esi
jl 0x41e50c
inc eax
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x1f8]
mov edx, dword [0x4228f8]
mov eax, dword [0x4228fc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1f8]
push eax
lea ecx, [ebp - 0x1fc]
mov edx, esi
mov eax, dword [0x4228fc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x1fc]
pop eax
call fcn.00404824
jne 0x41e506
xor ecx, ecx
mov edx, esi
mov eax, dword [0x4228fc]
mov edi, dword [eax]
call dword [edi + 0x20]
inc esi
dec dword [ebp - 0x14]
jne 0x41e4bb
inc dword [0x4228f8]
dec ebx
jne 0x41e46b
xor eax, eax
mov dword [0x4228f8], eax
jmp 0x41e5d8
lea ecx, [ebp - 0x200]
mov edx, dword [0x4228f8]
mov eax, dword [0x4228fc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
cmp dword [ebp - 0x200], 0
jne 0x41e5d2
mov edx, dword [0x4228f8]
mov eax, dword [0x4228fc]
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [0x4228fc]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, dword [0x4228f8]
jle 0x41e5ac
mov esi, dword [0x4228f8]
inc esi
mov eax, dword [0x4228f0]
call fcn.00405220
mov ebx, eax
dec ebx
sub ebx, esi
jl 0x41e5ac
inc ebx
lea eax, [esi + esi*4]
mov edx, dword [0x4228f0]
lea eax, [edx + eax*4 - 0x14]
lea edx, [esi + esi*4]
mov ecx, dword [0x4228f0]
lea edx, [ecx + edx*4]
mov ecx, dword [0x4197a8]
call fcn.00404fe4
inc esi
dec ebx
jne 0x41e584
mov eax, dword [0x4228f0]
call fcn.00405220
dec eax
push eax
mov eax, 0x4228f0
mov ecx, 1
mov edx, dword [0x41984c]
call fcn.004053dc
add esp, 4
jmp 0x41e5d8
inc dword [0x4228f8]
mov eax, dword [0x4228fc]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, dword [0x4228f8]
jge 0x41e525
cmp byte [0x422940], 0
je 0x41e7a1
mov dl, 1
mov eax, dword [0x410e4c]
call fcn.004036d0
mov dword [0x422948], eax
mov edx, dword [0x422944]
mov eax, dword [0x422948]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [0x422948]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x41e6aa
inc ebx
mov dword [0x4228f8], 0
mov eax, dword [0x4228fc]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x41e6a1
inc eax
mov dword [ebp - 0x14], eax
xor esi, esi
lea ecx, [ebp - 0x204]
mov edx, esi
mov eax, dword [0x4228fc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x204]
push eax
lea ecx, [ebp - 0x208]
mov edx, dword [0x4228f8]
mov eax, dword [0x422948]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x208]
pop edx
call fcn.00419648
test al, al
je 0x41e69b
xor ecx, ecx
mov edx, esi
mov eax, dword [0x4228fc]
mov edi, dword [eax]
call dword [edi + 0x20]
inc esi
dec dword [ebp - 0x14]
jne 0x41e64e
inc dword [0x4228f8]
dec ebx
jne 0x41e639
xor eax, eax
mov dword [0x4228f8], eax
jmp 0x41e780
lea ecx, [ebp - 0x20c]
mov edx, dword [0x4228f8]
mov eax, dword [0x4228fc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
cmp dword [ebp - 0x20c], 0
jne 0x41e77a
mov eax, dword [0x4228fc]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, dword [0x4228f8]
jle 0x41e744
mov esi, dword [0x4228f8]
inc esi
mov eax, dword [0x4228f0]
call fcn.00405220
mov ebx, eax
dec ebx
sub ebx, esi
jl 0x41e744
inc ebx
lea eax, [esi + esi*4]
mov edx, dword [0x4228f0]
lea eax, [edx + eax*4 - 0x14]
lea edx, [esi + esi*4]
mov ecx, dword [0x4228f0]
lea edx, [ecx + edx*4]
mov ecx, dword [0x4197a8]
call fcn.00404fe4
mov eax, dword [0x422904]
lea eax, [eax + esi*4 - 4]
mov edx, dword [0x422904]
mov edx, dword [edx + esi*4]
call fcn.0040446c
inc esi
dec ebx
jne 0x41e705
mov edx, dword [0x4228f8]
mov eax, dword [0x4228fc]
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [0x4228f0]
call fcn.00405220
dec eax
push eax
mov eax, 0x4228f0
mov ecx, 1
mov edx, dword [0x41984c]
call fcn.004053dc
add esp, 4
jmp 0x41e780
inc dword [0x4228f8]
mov eax, dword [0x4228fc]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, dword [0x4228f8]
jge 0x41e6b6
mov eax, 0x422948
call fcn.0040c65c
lea edx, [ebp - 0x210]
mov eax, dword [0x422918]
call fcn.0040752c
mov eax, dword [ebp - 0x210]
mov edx, 0x420858
call fcn.00404824
jne 0x41e8a1
lea edx, [ebp - 0x214]
mov eax, dword [0x4228fc]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
cmp dword [ebp - 0x214], 0
je 0x41e868
lea edx, [ebp - 0x218]
mov eax, dword [0x422920]
call fcn.00407d58
mov eax, dword [ebp - 0x218]
call fcn.00407b68
test al, al
jne 0x41e81e
lea edx, [ebp - 0x21c]
mov eax, dword [0x422920]
call fcn.00407d58
mov eax, dword [ebp - 0x21c]
call fcn.00407b8c
cmp byte [0x422957], 0
je 0x41e858
lea edx, [ebp - 0x224]
mov eax, dword [0x4228fc]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x224]
lea edx, [ebp - 0x220]
call fcn.00418bc8
mov edx, dword [ebp - 0x220]
mov eax, dword [0x4228fc]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, dword [0x422920]
mov eax, dword [0x4228fc]
mov ecx, dword [eax]
call dword [ecx + 0x74]
cmp byte [0x422954], 0
jne 0x41e8a1
lea eax, [ebp - 0x228]
mov ecx, dword [0x422920]
mov edx, 0x4208e4
call fcn.00404724
mov edx, dword [ebp - 0x228]
mov eax, dword [0x421450]
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
xor eax, eax
mov dword [0x4228f8], eax
xor eax, eax
push ebp
push 0x42028d
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x42000a
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x22c]
mov eax, dword [0x422918]
call fcn.0040752c
mov eax, dword [ebp - 0x22c]
mov edx, 0x4202fc
call fcn.00404824
jne 0x41fffd
lea edx, [ebp - 0x230]
mov eax, dword [0x4228fc]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
cmp dword [ebp - 0x230], 0
jne 0x41e910
cmp byte [0x42294c], 0
je 0x41fffd
mov dl, 1
mov eax, dword [0x410e4c]
call fcn.004036d0
mov dword [0x422900], eax
mov edx, dword [0x422920]
mov eax, dword [0x422900]
mov ecx, dword [eax]
call dword [ecx + 0x68]
cmp byte [0x42294c], 0
je 0x41e9fa
mov edx, dword [0x422950]
mov eax, dword [0x4228fc]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [0x4228fc]
mov edx, dword [eax]
call dword [edx + 0x14]
push eax
mov eax, 0x4228f0
mov ecx, 1
mov edx, dword [0x41984c]
call fcn.004053dc
add esp, 4
mov eax, dword [0x4228f0]
call fcn.00405220
mov ebx, eax
dec ebx
test ebx, ebx
jle 0x41e9fa
mov esi, 1
lea edi, [esi + esi*4]
mov eax, dword [0x4228f0]
mov edx, dword [0x4228f0]
mov edx, dword [edx]
mov dword [eax + edi*4], edx
mov eax, dword [0x4228f0]
lea eax, [eax + edi*4 + 4]
mov edx, dword [0x4228f0]
mov edx, dword [edx + 4]
call fcn.0040446c
mov eax, dword [0x4228f0]
lea eax, [eax + edi*4 + 8]
mov edx, dword [0x4228f0]
mov edx, dword [edx + 8]
call fcn.0040446c
mov eax, dword [0x4228f0]
lea eax, [eax + edi*4 + 0xc]
mov edx, dword [0x4228f0]
mov edx, dword [edx + 0xc]
call fcn.0040446c
mov eax, dword [0x4228f0]
lea eax, [eax + edi*4 + 0x10]
mov edx, dword [0x4228f0]
mov edx, dword [edx + 0x10]
call fcn.0040446c
inc esi
dec ebx
jne 0x41e987
push 0xffff
lea eax, [ebp - 0x234]
mov ecx, 0x4208f4
mov edx, dword [0x42291c]
call fcn.00404724
mov ecx, dword [ebp - 0x234]
mov dl, 1
mov eax, dword [0x41104c]
call fcn.00413a08
mov dword [0x4228c4], eax
cmp byte [0x422958], 0
jne 0x41faf4
mov eax, dword [0x422900]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
mov eax, dword [0x4228fc]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp ebx, eax
je 0x41ea71
mov eax, dword [0x421450]
mov edx, 0x420904
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
call fcn.0040ace4
mov dword [0x4228bc], 1
mov dword [0x42298c], 1
mov eax, dword [0x4228fc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x41fe71
inc ebx
mov dword [0x4228f8], 0
cmp byte [0x42293d], 0
je 0x41eb58
mov eax, dword [0x422904]
mov edx, dword [0x4228f8]
mov eax, dword [eax + edx*4]
cmp byte [eax], 0x22
je 0x41eaee
mov eax, dword [0x422904]
mov edx, dword [0x4228f8]
mov eax, dword [eax + edx*4]
call fcn.004046d8
mov edx, dword [0x422904]
mov ecx, dword [0x4228f8]
mov edx, dword [edx + ecx*4]
cmp byte [edx + eax - 1], 0x22
jne 0x41eb58
mov eax, dword [0x422904]
mov edx, dword [0x4228f8]
mov ecx, dword [eax + edx*4]
mov edx, dword [0x4228f8]
mov eax, dword [0x4228fc]
mov esi, dword [eax]
call dword [esi + 0x20]
push 0x420930
lea ecx, [ebp - 0x23c]
mov edx, dword [0x4228f8]
mov eax, dword [0x422900]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0x23c]
push 0x420930
lea eax, [ebp - 0x238]
mov edx, 3
call fcn.00404798
mov ecx, dword [ebp - 0x238]
mov edx, dword [0x4228f8]
mov eax, dword [0x422900]
mov esi, dword [eax]
call dword [esi + 0x20]
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x248]
mov edx, dword [0x4228f8]
mov eax, dword [0x422900]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x248]
call fcn.004046d8
mov edi, eax
mov esi, dword [0x4228f8]
lea esi, [esi + esi*4]
mov eax, dword [0x4228f0]
mov eax, dword [eax + esi*4]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov eax, dword [edx + eax*8 + 0x1c]
call fcn.004046d8
sub edi, eax
mov eax, dword [0x4228f0]
mov eax, dword [eax + esi*4]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov eax, dword [edx + eax*8 + 0x20]
call fcn.004046d8
sub edi, eax
push edi
lea ecx, [ebp - 0x24c]
mov edx, dword [0x4228f8]
mov eax, dword [0x422900]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x24c]
push eax
mov eax, dword [0x4228f0]
mov eax, dword [eax + esi*4]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov eax, dword [edx + eax*8 + 0x1c]
call fcn.004046d8
mov edx, eax
inc edx
pop eax
pop ecx
call fcn.00404938
mov eax, dword [ebp - 0x244]
mov edx, dword [0x4228f0]
mov edx, dword [edx + esi*4]
lea edx, [edx + edx*4]
mov ecx, dword [0x4228ec]
mov edx, dword [ecx + edx*8 + 0x24]
lea ecx, [ebp - 0x240]
call fcn.0041a70c
mov ecx, dword [ebp - 0x240]
mov eax, dword [0x4228f0]
mov edx, dword [eax + esi*4 + 4]
mov eax, 0x4228e0
call fcn.00404724
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0x258]
mov edx, dword [0x4228f8]
mov eax, dword [0x4228fc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x258]
call fcn.004046d8
mov edi, eax
mov eax, dword [0x4228f0]
mov eax, dword [eax + esi*4]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov eax, dword [edx + eax*8 + 0x1c]
call fcn.004046d8
sub edi, eax
mov eax, dword [0x4228f0]
mov eax, dword [eax + esi*4]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov eax, dword [edx + eax*8 + 0x20]
call fcn.004046d8
sub edi, eax
push edi
lea ecx, [ebp - 0x25c]
mov edx, dword [0x4228f8]
mov eax, dword [0x4228fc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x25c]
push eax
mov eax, dword [0x4228f0]
mov eax, dword [eax + esi*4]
lea eax, [eax + eax*4]
mov edx, dword [0x4228ec]
mov eax, dword [edx + eax*8 + 0x1c]
call fcn.004046d8
mov edx, eax
inc edx
pop eax
pop ecx
call fcn.00404938
mov eax, dword [ebp - 0x254]
mov edx, dword [0x4228f0]
mov edx, dword [edx + esi*4]
lea edx, [edx + edx*4]
mov ecx, dword [0x4228ec]
mov edx, dword [ecx + edx*8 + 0x24]
lea ecx, [ebp - 0x250]
call fcn.0041a70c
mov ecx, dword [ebp - 0x250]
mov eax, dword [0x4228f0]
mov edx, dword [eax + esi*4 + 4]
mov eax, 0x4228dc
call fcn.00404724
cmp byte [0x422931], 0
je 0x41edc7
cmp byte [0x42292a], 0
je 0x41ed85
mov eax, dword [0x4228bc]
push eax
lea edx, [ebp - 0x260]
mov eax, dword [0x4228dc]
call fcn.004198a4
lea eax, [ebp - 0x260]
mov edx, dword [0x4228f0]
mov edx, dword [edx + esi*4 + 0x10]
call fcn.004046e0
mov eax, dword [ebp - 0x260]
mov ecx, 0x4228b8
mov edx, dword [0x4228d8]
call fcn.00419580
jmp 0x41f7f2
push 0
lea edx, [ebp - 0x264]
mov eax, dword [0x4228dc]
call fcn.004198a4
lea eax, [ebp - 0x264]
mov edx, dword [0x4228f0]
mov edx, dword [edx + esi*4 + 0x10]
call fcn.004046e0
mov eax, dword [ebp - 0x264]
mov ecx, 0x4228b8
mov edx, dword [0x4228d8]
call fcn.00419580
jmp 0x41f7f2
cmp byte [0x42292a], 0
je 0x41ee08
mov eax, dword [0x4228f0]
mov ecx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x268]
mov edx, dword [0x4228dc]
call fcn.00404724
mov eax, dword [ebp - 0x268]
mov ecx, dword [0x4228bc]
mov edx, dword [0x4228d8]
call fcn.00417ea8
mov dword [0x4228b8], eax
jmp 0x41ee38
mov eax, dword [0x4228f0]
mov ecx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x26c]
mov edx, dword [0x4228dc]
call fcn.00404724
mov eax, dword [ebp - 0x26c]
mov edx, dword [0x4228d8]
call fcn.00404a1c
mov dword [0x4228b8], eax
cmp dword [0x4228b8], 0
jne 0x41f039
cmp byte [0x42292a], 0
je 0x41ef4d
mov eax, 0x4228e4
mov edx, dword [0x4228dc]
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x270]
push eax
mov ecx, 0x420940
mov edx, 0x42094c
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x270]
mov eax, 0x4228e4
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x274]
push eax
mov ecx, 0x420874
mov edx, 0x42095c
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x274]
mov eax, 0x4228e4
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x278]
push eax
mov ecx, 0x42094c
mov edx, 0x420940
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x278]
mov eax, 0x4228e4
call fcn.0040446c
mov eax, dword [0x4228f0]
mov ecx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x27c]
mov edx, dword [0x4228e4]
call fcn.00404724
mov eax, dword [ebp - 0x27c]
mov ecx, dword [0x4228bc]
mov edx, dword [0x4228d8]
call fcn.00417ea8
mov dword [0x4228b8], eax
cmp dword [0x4228b8], 0
je 0x41f039
mov eax, 0x4228dc
mov edx, dword [0x4228e4]
call fcn.0040446c
jmp 0x41f039
mov eax, 0x4228e4
mov edx, dword [0x4228dc]
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x280]
push eax
mov ecx, 0x420940
mov edx, 0x42094c
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x280]
mov eax, 0x4228e4
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x284]
push eax
mov ecx, 0x420874
mov edx, 0x42095c
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x284]
mov eax, 0x4228e4
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x288]
push eax
mov ecx, 0x42094c
mov edx, 0x420940
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x288]
mov eax, 0x4228e4
call fcn.0040446c
mov eax, dword [0x4228f0]
mov ecx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x28c]
mov edx, dword [0x4228e4]
call fcn.00404724
mov eax, dword [ebp - 0x28c]
mov edx, dword [0x4228d8]
call fcn.00404a1c
mov dword [0x4228b8], eax
cmp dword [0x4228b8], 0
je 0x41f039
mov eax, 0x4228dc
mov edx, dword [0x4228e4]
call fcn.0040446c
cmp dword [0x4228b8], 0
jne 0x41f176
cmp byte [0x42292a], 0
je 0x41f0ec
mov eax, 0x4228e4
mov edx, dword [0x4228dc]
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x290]
push eax
mov ecx, 0x420940
mov edx, 0x42094c
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x290]
mov eax, 0x4228e4
call fcn.0040446c
mov eax, dword [0x4228f0]
mov ecx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x294]
mov edx, dword [0x4228e4]
call fcn.00404724
mov eax, dword [ebp - 0x294]
mov ecx, dword [0x4228bc]
mov edx, dword [0x4228d8]
call fcn.00417ea8
mov dword [0x4228b8], eax
cmp dword [0x4228b8], 0
je 0x41f176
mov eax, 0x4228dc
mov edx, dword [0x4228e4]
call fcn.0040446c
jmp 0x41f176
mov eax, 0x4228e4
mov edx, dword [0x4228dc]
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x298]
push eax
mov ecx, 0x420940
mov edx, 0x42094c
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x298]
mov eax, 0x4228e4
call fcn.0040446c
mov eax, dword [0x4228f0]
mov ecx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x29c]
mov edx, dword [0x4228e4]
call fcn.00404724
mov eax, dword [ebp - 0x29c]
mov edx, dword [0x4228d8]
call fcn.00404a1c
mov dword [0x4228b8], eax
cmp dword [0x4228b8], 0
je 0x41f176
mov eax, 0x4228dc
mov edx, dword [0x4228e4]
call fcn.0040446c
cmp dword [0x4228b8], 0
jne 0x41f315
cmp byte [0x42292a], 0
je 0x41f25a
mov eax, 0x4228e4
mov edx, dword [0x4228dc]
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x2a0]
push eax
mov ecx, 0x420940
mov edx, 0x42094c
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x2a0]
mov eax, 0x4228e4
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x2a4]
push eax
mov ecx, 0x420874
mov edx, 0x42095c
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x2a4]
mov eax, 0x4228e4
call fcn.0040446c
mov eax, dword [0x4228f0]
mov ecx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x2a8]
mov edx, dword [0x4228e4]
call fcn.00404724
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [0x4228bc]
mov edx, dword [0x4228d8]
call fcn.00417ea8
mov dword [0x4228b8], eax
cmp dword [0x4228b8], 0
je 0x41f315
mov eax, 0x4228dc
mov edx, dword [0x4228e4]
call fcn.0040446c
jmp 0x41f315
mov eax, 0x4228e4
mov edx, dword [0x4228dc]
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x2ac]
push eax
mov ecx, 0x420940
mov edx, 0x42094c
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x2ac]
mov eax, 0x4228e4
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x2b0]
push eax
mov ecx, 0x420874
mov edx, 0x42095c
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x2b0]
mov eax, 0x4228e4
call fcn.0040446c
mov eax, dword [0x4228f0]
mov ecx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x2b4]
mov edx, dword [0x4228e4]
call fcn.00404724
mov eax, dword [ebp - 0x2b4]
mov edx, dword [0x4228d8]
call fcn.00404a1c
mov dword [0x4228b8], eax
cmp dword [0x4228b8], 0
je 0x41f315
mov eax, 0x4228dc
mov edx, dword [0x4228e4]
call fcn.0040446c
cmp dword [0x4228b8], 0
jne 0x41f516
cmp byte [0x42292a], 0
je 0x41f42a
mov eax, 0x4228e4
mov edx, dword [0x4228dc]
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x2b8]
push eax
mov ecx, 0x42094c
mov edx, 0x420940
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x2b8]
mov eax, 0x4228e4
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x2bc]
push eax
mov ecx, 0x42095c
mov edx, 0x420874
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x2bc]
mov eax, 0x4228e4
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x2c0]
push eax
mov ecx, 0x420940
mov edx, 0x42094c
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x2c0]
mov eax, 0x4228e4
call fcn.0040446c
mov eax, dword [0x4228f0]
mov ecx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x2c4]
mov edx, dword [0x4228e4]
call fcn.00404724
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [0x4228bc]
mov edx, dword [0x4228d8]
call fcn.00417ea8
mov dword [0x4228b8], eax
cmp dword [0x4228b8], 0
je 0x41f516
mov eax, 0x4228dc
mov edx, dword [0x4228e4]
call fcn.0040446c
jmp 0x41f516
mov eax, 0x4228e4
mov edx, dword [0x4228dc]
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x2c8]
push eax
mov ecx, 0x42094c
mov edx, 0x420940
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x2c8]
mov eax, 0x4228e4
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x2cc]
push eax
mov ecx, 0x42095c
mov edx, 0x420874
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x2cc]
mov eax, 0x4228e4
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x2d0]
push eax
mov ecx, 0x420940
mov edx, 0x42094c
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x2d0]
mov eax, 0x4228e4
call fcn.0040446c
mov eax, dword [0x4228f0]
mov ecx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x2d4]
mov edx, dword [0x4228e4]
call fcn.00404724
mov eax, dword [ebp - 0x2d4]
mov edx, dword [0x4228d8]
call fcn.00404a1c
mov dword [0x4228b8], eax
cmp dword [0x4228b8], 0
je 0x41f516
mov eax, 0x4228dc
mov edx, dword [0x4228e4]
call fcn.0040446c
cmp dword [0x4228b8], 0
jne 0x41f653
cmp byte [0x42292a], 0
je 0x41f5c9
mov eax, 0x4228e4
mov edx, dword [0x4228dc]
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x2d8]
push eax
mov ecx, 0x42094c
mov edx, 0x420940
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x2d8]
mov eax, 0x4228e4
call fcn.0040446c
mov eax, dword [0x4228f0]
mov ecx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x2dc]
mov edx, dword [0x4228e4]
call fcn.00404724
mov eax, dword [ebp - 0x2dc]
mov ecx, dword [0x4228bc]
mov edx, dword [0x4228d8]
call fcn.00417ea8
mov dword [0x4228b8], eax
cmp dword [0x4228b8], 0
je 0x41f653
mov eax, 0x4228dc
mov edx, dword [0x4228e4]
call fcn.0040446c
jmp 0x41f653
mov eax, 0x4228e4
mov edx, dword [0x4228dc]
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x2e0]
push eax
mov ecx, 0x42094c
mov edx, 0x420940
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x2e0]
mov eax, 0x4228e4
call fcn.0040446c
mov eax, dword [0x4228f0]
mov ecx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x2e4]
mov edx, dword [0x4228e4]
call fcn.00404724
mov eax, dword [ebp - 0x2e4]
mov edx, dword [0x4228d8]
call fcn.00404a1c
mov dword [0x4228b8], eax
cmp dword [0x4228b8], 0
je 0x41f653
mov eax, 0x4228dc
mov edx, dword [0x4228e4]
call fcn.0040446c
cmp dword [0x4228b8], 0
jne 0x41f7f2
cmp byte [0x42292a], 0
je 0x41f737
mov eax, 0x4228e4
mov edx, dword [0x4228dc]
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x2e8]
push eax
mov ecx, 0x42094c
mov edx, 0x420940
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x2e8]
mov eax, 0x4228e4
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x2ec]
push eax
mov ecx, 0x42095c
mov edx, 0x420874
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x2ec]
mov eax, 0x4228e4
call fcn.0040446c
mov eax, dword [0x4228f0]
mov ecx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x2f0]
mov edx, dword [0x4228e4]
call fcn.00404724
mov eax, dword [ebp - 0x2f0]
mov ecx, dword [0x4228bc]
mov edx, dword [0x4228d8]
call fcn.00417ea8
mov dword [0x4228b8], eax
cmp dword [0x4228b8], 0
je 0x41f7f2
mov eax, 0x4228dc
mov edx, dword [0x4228e4]
call fcn.0040446c
jmp 0x41f7f2
mov eax, 0x4228e4
mov edx, dword [0x4228dc]
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x2f4]
push eax
mov ecx, 0x42094c
mov edx, 0x420940
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x2f4]
mov eax, 0x4228e4
call fcn.0040446c
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x2f8]
push eax
mov ecx, 0x42095c
mov edx, 0x420874
mov eax, dword [0x4228e4]
call fcn.0040bfe0
mov edx, dword [ebp - 0x2f8]
mov eax, 0x4228e4
call fcn.0040446c
mov eax, dword [0x4228f0]
mov ecx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x2fc]
mov edx, dword [0x4228e4]
call fcn.00404724
mov eax, dword [ebp - 0x2fc]
mov edx, dword [0x4228d8]
call fcn.00404a1c
mov dword [0x4228b8], eax
cmp dword [0x4228b8], 0
je 0x41f7f2
mov eax, 0x4228dc
mov edx, dword [0x4228e4]
call fcn.0040446c
cmp dword [0x4228b8], 0
je 0x41f9db
cmp byte [0x422929], 0
jne 0x41f9a3
cmp byte [0x42292a], 0
je 0x41f8dc
mov eax, dword [0x4228dc]
call fcn.004046d8
mov esi, eax
mov eax, dword [0x4228e0]
call fcn.004046d8
cmp esi, eax
jne 0x41f861
mov eax, 0x4228d8
call fcn.00404930
mov edx, dword [0x4228b8]
lea eax, [eax + edx - 1]
push eax
mov eax, dword [0x4228e0]
call fcn.004046d8
mov ecx, eax
mov eax, dword [0x4228e0]
pop edx
call fcn.00402828
jmp 0x41f8c2
mov eax, 0x4228d8
call fcn.00404930
mov edx, dword [0x42298c]
lea edx, [eax + edx - 1]
mov ecx, dword [0x4228b8]
sub ecx, dword [0x42298c]
mov eax, dword [0x4228c4]
mov esi, dword [eax]
call dword [esi + 0x10]
mov eax, dword [0x4228e0]
call fcn.004046d8
push eax
mov eax, dword [0x4228e0]
call fcn.004048d8
mov edx, eax
mov eax, dword [0x4228c4]
pop ecx
mov esi, dword [eax]
call dword [esi + 0x10]
mov eax, dword [0x4228dc]
call fcn.004046d8
add eax, dword [0x4228b8]
mov dword [0x42298c], eax
mov eax, dword [0x4228dc]
call fcn.004046d8
add eax, dword [0x4228b8]
mov dword [0x4228bc], eax
jmp 0x41fae2
mov eax, dword [0x4228dc]
call fcn.004046d8
mov esi, eax
mov eax, dword [0x4228e0]
call fcn.004046d8
cmp esi, eax
jle 0x41f91e
mov eax, dword [0x4228dc]
call fcn.004046d8
push eax
mov eax, dword [0x4228e0]
call fcn.004046d8
pop ecx
sub ecx, eax
mov eax, 0x4228d8
mov edx, dword [0x4228b8]
call fcn.00404978
mov eax, dword [0x4228dc]
call fcn.004046d8
mov esi, eax
mov eax, dword [0x4228e0]
call fcn.004046d8
cmp esi, eax
jge 0x41f972
mov eax, dword [0x4228e0]
call fcn.004046d8
push eax
mov eax, dword [0x4228dc]
call fcn.004046d8
pop edx
xchg edx, eax
sub eax, edx
lea edx, [ebp - 0x300]
call fcn.0041b1ac
mov eax, dword [ebp - 0x300]
mov edx, 0x4228d8
mov ecx, dword [0x4228b8]
call fcn.004049c0
mov eax, 0x4228d8
call fcn.00404930
mov edx, dword [0x4228b8]
lea eax, [eax + edx - 1]
push eax
mov eax, dword [0x4228e0]
call fcn.004046d8
mov ecx, eax
mov eax, dword [0x4228e0]
pop edx
call fcn.00402828
jmp 0x41fae2
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x304]
push eax
mov ecx, dword [0x4228e0]
mov edx, dword [0x4228dc]
mov eax, dword [0x4228d8]
call fcn.0040bfe0
mov edx, dword [ebp - 0x304]
mov eax, 0x4228d8
call fcn.0040446c
jmp 0x41fae2
cmp byte [0x42290c], 0
jne 0x41fac2
mov eax, dword [0x421450]
mov edx, 0x420968
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
lea eax, [ebp - 0x308]
mov ecx, dword [0x42291c]
mov edx, 0x4209a8
call fcn.00404724
mov edx, dword [ebp - 0x308]
mov eax, dword [0x421450]
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
mov eax, dword [0x4228f0]
mov ecx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x30c]
mov edx, dword [0x4228dc]
call fcn.00404724
mov edx, dword [ebp - 0x30c]
mov eax, dword [0x421450]
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
mov eax, dword [0x421450]
mov edx, 0x4209b8
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
mov byte [0x42290c], 1
push dword [0x422910]
push 0x4209c4
push dword [0x42291c]
push 0x4209d4
mov eax, 0x422910
mov edx, 4
call fcn.00404798
cmp byte [0x422954], 0
jne 0x41fac2
mov eax, dword [0x4214f8]
call fcn.00402fe0
call fcn.00402794
push dword [0x422910]
push dword [0x4228dc]
push 0x4209d4
mov eax, 0x422910
mov edx, 3
call fcn.00404798
inc dword [0x4228f8]
dec ebx
jne 0x41eaa5
jmp 0x41fe71
xor eax, eax
mov dword [0x4228f8], eax
lea edx, [ebp - 0x314]
mov eax, dword [0x422900]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x314]
mov edx, dword [0x4228f8]
lea edx, [edx + edx*4]
mov ecx, dword [0x4228f0]
mov edx, dword [ecx + edx*4]
lea edx, [edx + edx*4]
mov ecx, dword [0x4228ec]
mov edx, dword [ecx + edx*8 + 0x24]
lea ecx, [ebp - 0x310]
call fcn.0041a70c
mov ecx, dword [ebp - 0x310]
mov eax, dword [0x4228f8]
lea eax, [eax + eax*4]
mov edx, dword [0x4228f0]
mov edx, dword [edx + eax*4 + 4]
mov eax, 0x4228e0
call fcn.00404724
lea edx, [ebp - 0x31c]
mov eax, dword [0x4228fc]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x31c]
mov edx, dword [0x4228f8]
lea edx, [edx + edx*4]
mov ecx, dword [0x4228f0]
mov edx, dword [ecx + edx*4]
lea edx, [edx + edx*4]
mov ecx, dword [0x4228ec]
mov edx, dword [ecx + edx*8 + 0x24]
lea ecx, [ebp - 0x318]
call fcn.0041a70c
mov ecx, dword [ebp - 0x318]
mov eax, dword [0x4228f8]
lea eax, [eax + eax*4]
mov edx, dword [0x4228f0]
mov edx, dword [edx + eax*4 + 4]
mov eax, 0x4228dc
call fcn.00404724
mov eax, dword [0x4228e0]
call fcn.004046d8
mov edx, dword [0x4228e0]
cmp byte [edx + eax - 1], 0xa
jne 0x41fc33
mov eax, dword [0x4228e0]
call fcn.004046d8
mov edx, dword [0x4228e0]
cmp byte [edx + eax - 2], 0xd
jne 0x41fc12
push 0x4228e0
mov eax, dword [0x4228e0]
call fcn.004046d8
mov ecx, eax
sub ecx, 2
mov edx, 1
mov eax, dword [0x4228e0]
call fcn.00404938
jmp 0x41fc33
push 0x4228e0
mov eax, dword [0x4228e0]
call fcn.004046d8
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [0x4228e0]
call fcn.00404938
mov eax, dword [0x4228dc]
call fcn.004046d8
mov edx, dword [0x4228dc]
cmp byte [edx + eax - 1], 0xa
jne 0x41fca7
mov eax, dword [0x4228dc]
call fcn.004046d8
mov edx, dword [0x4228dc]
cmp byte [edx + eax - 2], 0xd
jne 0x41fc86
push 0x4228dc
mov eax, dword [0x4228dc]
call fcn.004046d8
mov ecx, eax
sub ecx, 2
mov edx, 1
mov eax, dword [0x4228dc]
call fcn.00404938
jmp 0x41fca7
push 0x4228dc
mov eax, dword [0x4228dc]
call fcn.004046d8
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [0x4228dc]
call fcn.00404938
mov eax, dword [0x4228f8]
lea eax, [eax + eax*4]
mov edx, dword [0x4228f0]
mov ecx, dword [edx + eax*4 + 8]
lea eax, [ebp - 0x320]
mov edx, dword [0x4228dc]
call fcn.00404724
mov eax, dword [ebp - 0x320]
mov edx, dword [0x4228d8]
call fcn.00404a1c
mov dword [0x4228b8], eax
mov edx, dword [0x4228dc]
mov eax, 0x4209e4
call fcn.00404a1c
test eax, eax
jne 0x41fd25
mov al, byte [0x420934]
push eax
lea eax, [ebp - 0x324]
push eax
mov ecx, 0x420874
mov edx, 0x4209e4
mov eax, dword [0x4228e0]
call fcn.0040bfe0
mov edx, dword [ebp - 0x324]
mov eax, 0x4228e0
call fcn.0040446c
cmp dword [0x4228b8], 0
jle 0x41fdf6
mov eax, dword [0x4228dc]
call fcn.004046d8
mov ebx, eax
mov eax, dword [0x4228e0]
call fcn.004046d8
cmp ebx, eax
jle 0x41fd74
mov eax, dword [0x4228dc]
call fcn.004046d8
push eax
mov eax, dword [0x4228e0]
call fcn.004046d8
pop ecx
sub ecx, eax
mov eax, 0x4228d8
mov edx, dword [0x4228b8]
call fcn.00404978
mov eax, dword [0x4228dc]
call fcn.004046d8
mov ebx, eax
mov eax, dword [0x4228e0]
call fcn.004046d8
cmp ebx, eax
jge 0x41fdc8
mov eax, dword [0x4228e0]
call fcn.004046d8
push eax
mov eax, dword [0x4228dc]
call fcn.004046d8
pop edx
xchg edx, eax
sub eax, edx
lea edx, [ebp - 0x328]
call fcn.0041b1ac
mov eax, dword [ebp - 0x328]
mov edx, 0x4228d8
mov ecx, dword [0x4228b8]
call fcn.004049c0
mov eax, 0x4228d8
call fcn.00404930
mov edx, dword [0x4228b8]
lea eax, [eax + edx - 1]
push eax
mov eax, dword [0x4228e0]
call fcn.004046d8
mov ecx, eax
mov eax, dword [0x4228e0]
pop edx
call fcn.00402828
jmp 0x41fe71
mov eax, dword [0x421450]
mov edx, 0x4209f0
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
lea eax, [ebp - 0x32c]
mov ecx, dword [0x42291c]
mov edx, 0x4209a8
call fcn.00404724
mov edx, dword [ebp - 0x32c]
mov eax, dword [0x421450]
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
mov eax, dword [0x421450]
mov edx, dword [0x4228dc]
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
cmp byte [0x422954], 0
jne 0x41fe71
mov eax, dword [0x4214f8]
call fcn.00402fe0
call fcn.00402794
cmp byte [0x42292a], 0
je 0x41feaf
mov eax, 0x4228d8
call fcn.00404930
mov edx, dword [0x42298c]
lea eax, [eax + edx - 1]
push eax
mov eax, dword [0x4228d8]
call fcn.004046d8
mov ecx, eax
sub ecx, dword [0x42298c]
inc ecx
mov eax, dword [0x4228c4]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x10]
jmp 0x41fed1
mov eax, dword [0x4228d8]
call fcn.004046d8
push eax
mov eax, dword [0x4228d8]
call fcn.004048d8
mov edx, eax
mov eax, dword [0x4228c4]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, 0x4228c4
call fcn.0040c65c
cmp byte [0x42295a], 0
je 0x41ff7c
mov dl, 1
mov eax, dword [0x418cd8]
call fcn.00418e08
mov dword [0x4228c8], eax
lea eax, [ebp - 0x330]
mov ecx, 0x4208f4
mov edx, dword [0x42291c]
call fcn.00404724
mov edx, dword [ebp - 0x330]
xor ecx, ecx
mov eax, dword [0x4228c8]
call fcn.004190dc
lea eax, [ebp - 0x334]
mov ecx, 0x4208f4
mov edx, dword [0x42291c]
call fcn.00404724
mov eax, dword [ebp - 0x334]
call fcn.004048d8
push eax
call sub.kernel32.dll_DeleteFileA
mov eax, dword [0x4228c8]
mov edx, dword [0x4228cc]
mov dword [eax + 0x30], edx
mov eax, dword [0x4228c8]
mov dl, byte [0x4228d0]
mov byte [eax + 0x34], dl
mov cl, byte [0x4228d0]
mov edx, dword [0x42291c]
mov eax, dword [0x4228c8]
call fcn.004192d0
jmp 0x41ffc4
lea eax, [ebp - 0x338]
mov ecx, 0x4208f4
mov edx, dword [0x42291c]
call fcn.00404724
mov eax, dword [ebp - 0x338]
call fcn.004048d8
mov dword [0x422984], eax
mov eax, dword [0x42291c]
call fcn.004048d8
mov dword [0x422988], eax
push 1
mov eax, dword [0x422988]
push eax
mov eax, dword [0x422984]
push eax
call sub.kernel32.dll_MoveFileExA
cmp byte [0x422954], 0
jne 0x41fffd
lea eax, [ebp - 0x33c]
mov ecx, dword [0x42291c]
mov edx, 0x4208e4
call fcn.00404724
mov edx, dword [ebp - 0x33c]
mov eax, dword [0x421450]
call fcn.00404ac8
call fcn.004031f8
call fcn.00402794
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4200df
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x420297
mov eax, 0x4228d8
call fcn.00404418
push 0
mov eax, 0x4228f0
mov ecx, 1
mov edx, dword [0x41984c]
call fcn.004053dc
add esp, 4
push 0
mov eax, 0x4228ec
mov ecx, 1
mov edx, dword [0x419820]
call fcn.004053dc
add esp, 4
mov eax, 0x4228c4
call fcn.0040c65c
mov eax, 0x422900
call fcn.0040c65c
mov eax, 0x4228fc
call fcn.0040c65c
cmp dword [0x422914], 0
jne 0x42015e
cmp dword [0x422910], 0
je 0x42028c
lea edx, [ebp - 0x35c]
xor eax, eax
call fcn.004029b4
lea eax, [ebp - 0x35c]
mov edx, 0x420a50
call fcn.004046e0
mov eax, dword [ebp - 0x35c]
lea edx, [ebp - 0x358]
call fcn.00407d58
mov eax, dword [ebp - 0x358]
call fcn.0041873c
test al, al
jne 0x4201e7
push 0xffff
lea edx, [ebp - 0x364]
xor eax, eax
call fcn.004029b4
mov eax, dword [ebp - 0x364]
lea edx, [ebp - 0x360]
call fcn.00407d58
lea eax, [ebp - 0x360]
mov edx, 0x420a50
call fcn.004046e0
mov ecx, dword [ebp - 0x360]
mov dl, 1
mov eax, dword [0x41104c]
call fcn.00413a08
mov dword [0x4228c4], eax
jmp 0x42022e
push 1
lea edx, [ebp - 0x36c]
xor eax, eax
call fcn.004029b4
mov eax, dword [ebp - 0x36c]
lea edx, [ebp - 0x368]
call fcn.00407d58
lea eax, [ebp - 0x368]
mov edx, 0x420a50
call fcn.004046e0
mov ecx, dword [ebp - 0x368]
mov dl, 1
mov eax, dword [0x41104c]
call fcn.00413a08
mov dword [0x4228c4], eax
mov cx, 2
xor edx, edx
mov eax, dword [0x4228c4]
mov ebx, dword [eax]
call dword [ebx + 0x14]
mov eax, dword [0x422910]
call fcn.004046d8
push eax
mov eax, dword [0x422910]
call fcn.004048d8
mov edx, eax
mov eax, dword [0x4228c4]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [0x422914]
call fcn.004046d8
push eax
mov eax, dword [0x422914]
call fcn.004048d8
mov edx, eax
mov eax, dword [0x4228c4]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, 0x4228c4
call fcn.0040c65c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4202d9
lea eax, [ebp - 0x36c]
mov edx, 0x64
call fcn.0040443c
lea eax, [ebp - 0x1dc]
mov edx, 0x64
call fcn.0040443c
lea eax, [ebp - 0x4c]
mov edx, 0xe
call fcn.0040443c
ret