Function at 0x422ee0
Capabilities:
Accept command line arguments

Disassembly:
push 0x29c
mov eax, 0x475f3d
call fcn.00472eab
mov dword [ebp - 0x240], edx
mov eax, ecx
mov dword [ebp - 0x234], eax
xor ebx, ebx
mov dword [ebp - 0x268], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x244], ebx
mov byte [ebp - 4], 1
mov dword [ebp - 0x264], ebx
mov byte [ebp - 4], 2
mov dword [ebp - 0x254], ebx
mov byte [ebp - 4], 3
mov dword [ebp - 0x250], ebx
mov byte [ebp - 4], 4
mov dword [ebp - 0x24c], ebx
mov edi, ebx
mov byte [ebp - 4], 5
mov dword [ebp - 0x25c], edi
mov esi, ebx
mov byte [ebp - 4], 6
mov dword [ebp - 0x224], esi
mov byte [ebp - 4], 7
mov dword [ebp - 0x2a4], ebx
mov byte [ebp - 4], 8
mov dword [ebp - 0x2a8], ebx
mov byte [ebp - 4], 9
mov dword [ebp - 0x248], ebx
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x260], ebx
mov byte [ebp - 4], 0xb
mov ecx, ebx
or dword [ebp - 0x270], 0xffffffff
mov dword [ebp - 0x274], ebx
mov dword [ebp - 0x278], ebx
mov dword [ebp - 0x27c], ebx
mov dword [ebp - 0x280], ebx
mov dword [ebp - 0x26c], ebx
mov dword [ebp - 0x284], ebx
mov dword [ebp - 0x288], ebx
mov dword [ebp - 0x28c], ebx
mov dword [ebp - 0x290], ebx
mov dword [ebp - 0x294], ebx
mov dword [ebp - 0x298], ebx
mov dword [ebp - 0x228], ecx
mov dword [ebp - 0x22c], ebx
test eax, eax
jne 0x422fec
mov ecx, 0x80070057
mov ebx, ecx
call fcn.00427566
mov esi, dword [ebp - 0x224]
jmp 0x423e2a
test edx, edx
je 0x422fd5
lea edx, [ebp - 0x244]
mov ecx, 0x406c74
call fcn.0042743a
mov ebx, eax
test ebx, ebx
jns 0x423018
mov ecx, ebx
call fcn.00427566
mov esi, dword [ebp - 0x224]
jmp 0x423e26
mov ebx, dword [0x479b84]
mov eax, dword [0x47c110]
mov dword [ebp - 0x258], eax
test ebx, ebx
je 0x423032
cmp ebx, 0xffffffff
jne 0x423034
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
push 0x40caf0
push dword [ebp - 0x258]
push ebx
call fcn.0041704b
mov ecx, dword [ebp - 0x234]
lea edx, [ebp - 0x268]
add esp, 0x10
call fcn.0042743a
mov ebx, eax
test ebx, ebx
js 0x423006
lea eax, [ebp - 0x23c]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ecx, eax
mov dword [ebp - 0x21c], ecx
test ecx, ecx
jne 0x42309a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.0042754e
mov ebx, eax
jmp 0x423006
xor eax, eax
inc eax
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x23c], eax
jbe 0x423ab9
push 0xffffffffffffffff
push 0x40cb14
mov dword [ebp - 0x234], eax
shl eax, 2
push 0xffffffffffffffff
mov dword [ebp - 0x230], eax
push dword [eax + ecx]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x423155
mov ebx, dword [ebp - 0x220]
inc ebx
mov dword [ebp - 0x220], ebx
cmp ebx, dword [ebp - 0x23c]
jae 0x422fd5
test edi, edi
je 0x423108
mov ecx, edi
call fcn.00427347
and dword [ebp - 0x25c], 0
mov eax, dword [ebp - 0x21c]
lea edx, [ebp - 0x25c]
mov ecx, dword [eax + ebx*4]
call fcn.0042743a
mov ebx, eax
test ebx, ebx
js 0x423a6f
mov edi, dword [ebp - 0x25c]
lea edx, [ebp - 0x29c]
mov ecx, edi
call fcn.00426bc5
mov ebx, eax
test ebx, ebx
js 0x423006
cmp dword [ebp - 0x29c], 0
je 0x422fd5
jmp 0x423a43
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cb30
push 0xffffffffffffffff
push dword [eax + ecx]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x4231c6
mov eax, dword [ebp - 0x220]
inc eax
mov dword [ebp - 0x220], eax
cmp eax, dword [ebp - 0x23c]
jae 0x422fd5
mov ecx, dword [ebp - 0x21c]
lea edx, [ebp - 0x270]
mov ecx, dword [ecx + eax*4]
call fcn.00429a1f
mov ebx, eax
test ebx, ebx
js 0x423006
mov dword [ebp - 0x274], 1
jmp 0x423a43
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cb48
push 0xffffffffffffffff
push dword [eax + ecx]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x423243
mov ebx, dword [ebp - 0x220]
inc ebx
mov dword [ebp - 0x220], ebx
cmp ebx, dword [ebp - 0x23c]
jae 0x422fd5
mov ecx, dword [ebp - 0x254]
test ecx, ecx
je 0x423220
call fcn.00427347
and dword [ebp - 0x254], 0
lea edx, [ebp - 0x254]
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax + ebx*4]
call fcn.0042743a
mov ebx, eax
test ebx, ebx
js 0x423006
jmp 0x423a43
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cb5c
push 0xffffffffffffffff
push dword [eax + ecx]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x4232a5
mov ebx, dword [ebp - 0x220]
inc ebx
mov dword [ebp - 0x220], ebx
cmp ebx, dword [ebp - 0x23c]
jae 0x422fd5
mov ecx, dword [ebp - 0x250]
test ecx, ecx
je 0x42329d
call fcn.00427347
and dword [ebp - 0x250], 0
lea edx, [ebp - 0x250]
jmp 0x423226
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cb70
push 0xffffffffffffffff
push dword [eax + ecx]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x42330a
mov ebx, dword [ebp - 0x220]
inc ebx
mov dword [ebp - 0x220], ebx
cmp ebx, dword [ebp - 0x23c]
jae 0x422fd5
mov ecx, dword [ebp - 0x248]
test ecx, ecx
je 0x4232ff
call fcn.00427347
and dword [ebp - 0x248], 0
lea edx, [ebp - 0x248]
jmp 0x423226
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cb88
push 0xffffffffffffffff
push dword [eax + ecx]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x423374
mov eax, dword [ebp - 0x220]
inc eax
cmp eax, dword [ebp - 0x23c]
jae 0x423374
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cbb0
push 0xffffffffffffffff
push dword [eax + ecx + 4]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
je 0x423a43
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x21c]
inc eax
push 0xffffffffffffffff
push 0x40cbb0
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x230]
push 0xffffffffffffffff
push dword [eax + ecx]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x4233e5
mov ebx, dword [ebp - 0x258]
mov dword [ebp - 0x220], ebx
cmp ebx, dword [ebp - 0x23c]
jae 0x422fd5
mov ecx, dword [ebp - 0x24c]
test ecx, ecx
je 0x4233da
call fcn.00427347
and dword [ebp - 0x24c], 0
lea edx, [ebp - 0x24c]
jmp 0x423226
mov eax, dword [ebp - 0x258]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cbc8
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x230]
push 0xffffffffffffffff
push dword [eax + ecx]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
mov eax, dword [ebp - 0x220]
jne 0x4234a0
cmp eax, dword [ebp - 0x23c]
jae 0x422fd5
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cbd4
push 0xffffffffffffffff
push dword [ecx + eax*4]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
mov eax, dword [ebp - 0x220]
jne 0x423468
mov dword [ebp - 0x290], 1
jmp 0x423a49
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cbe4
push 0xffffffffffffffff
push dword [ecx + eax*4]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x422fd5
mov dword [ebp - 0x294], 1
jmp 0x423a43
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cbf0
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x230]
push 0xffffffffffffffff
push dword [eax + ecx]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
mov eax, dword [ebp - 0x220]
jne 0x42351b
cmp eax, dword [ebp - 0x23c]
jae 0x422fd5
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cbe4
push 0xffffffffffffffff
push dword [ecx + eax*4]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x422fd5
mov dword [ebp - 0x28c], 1
jmp 0x423a43
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cc00
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x230]
push 0xffffffffffffffff
push dword [eax + ecx]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x423592
mov eax, dword [ebp - 0x220]
cmp eax, dword [ebp - 0x23c]
jae 0x422fd5
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cc14
push 0xffffffffffffffff
push dword [ecx + eax*4]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x423592
mov dword [ebp - 0x298], 1
jmp 0x423a43
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cc24
push 0xffffffffffffffff
push dword [ecx + eax]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x42362e
mov ebx, dword [ebp - 0x258]
mov dword [ebp - 0x220], ebx
cmp ebx, dword [ebp - 0x23c]
jae 0x422fd5
test esi, esi
je 0x4235e7
mov ecx, esi
call fcn.00427347
and dword [ebp - 0x224], 0
mov eax, dword [ebp - 0x21c]
lea edx, [ebp - 0x224]
mov ecx, dword [eax + ebx*4]
call fcn.0042743a
mov ebx, eax
test ebx, ebx
js 0x423006
mov esi, dword [ebp - 0x224]
lea edx, [ebp - 0x238]
mov ecx, esi
call fcn.00426bf6
mov ebx, eax
test ebx, ebx
js 0x423006
cmp dword [ebp - 0x238], 0
jmp 0x42314a
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cc40
push 0xffffffffffffffff
push dword [ecx + eax]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x42366e
mov dword [ebp - 0x278], 1
mov eax, dword [ebp - 0x234]
jmp 0x423a49
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cc54
push 0xffffffffffffffff
push dword [ecx + eax]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x4236a5
mov dword [ebp - 0x280], 1
jmp 0x423663
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cc68
push 0xffffffffffffffff
push dword [ecx + eax]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x4236dc
mov dword [ebp - 0x26c], 1
jmp 0x423663
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cc78
push 0xffffffffffffffff
push dword [ecx + eax]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x423716
mov dword [ebp - 0x284], 1
jmp 0x423663
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cc98
push 0xffffffffffffffff
push dword [ecx + eax]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x423750
mov dword [ebp - 0x27c], 1
jmp 0x423663
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40ccac
push 0xffffffffffffffff
push dword [ecx + eax]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x42378f
push 8
mov eax, dword [ebp - 0x234]
pop ecx
mov dword [ebp - 0x228], ecx
jmp 0x423a4f
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40ccc4
push 0xffffffffffffffff
push dword [ecx + eax]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x4237be
push 5
jmp 0x42377d
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40ccd4
push 0xffffffffffffffff
push dword [ecx + eax]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x4237ed
push 6
jmp 0x42377d
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cce8
push 0xffffffffffffffff
push dword [ecx + eax]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x42381f
push 2
jmp 0x42377d
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40ccfc
push 0xffffffffffffffff
push dword [ecx + eax]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x423851
push 7
jmp 0x42377d
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cd08
push 0xffffffffffffffff
push dword [ecx + eax]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x423896
xor edx, edx
inc edx
mov eax, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x228]
mov dword [ebp - 0x22c], edx
jmp 0x423a55
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cd24
push 0xffffffffffffffff
push dword [ecx + eax]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x4238c6
push 8
pop edx
jmp 0x42387f
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cd38
push 0xffffffffffffffff
push dword [ecx + eax]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x4238f5
push 2
jmp 0x4238c3
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cd4c
push 0xffffffffffffffff
push dword [ecx + eax]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x423924
push 3
jmp 0x4238c3
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cd60
push 0xffffffffffffffff
push dword [ecx + eax]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x42396c
mov eax, dword [ebp - 0x234]
push 9
pop edx
push 6
pop ecx
mov dword [ebp - 0x22c], edx
mov dword [ebp - 0x228], ecx
jmp 0x423a55
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
push 0xffffffffffffffff
push 0x40cd78
push 0xffffffffffffffff
push dword [ecx + eax]
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringW]
dec eax
sub eax, 1
jne 0x4239a6
mov dword [ebp - 0x288], 1
jmp 0x423663
mov esi, dword [ebp - 0x244]
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x21c]
test esi, esi
je 0x423a19
push dword [ecx + eax]
lea eax, [ebp - 0x264]
push esi
push 0x40cd80
push eax
call fcn.00416afb
mov ebx, eax
add esp, 0x10
mov dword [ebp - 0x258], ebx
test ebx, ebx
js 0x423006
mov ebx, dword [ebp - 0x264]
mov ecx, esi
and dword [ebp - 0x264], 0
call fcn.00427347
and dword [ebp - 0x244], 0
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x244], ebx
mov ebx, dword [ebp - 0x258]
mov dword [ebp - 0x220], eax
jmp 0x423a3d
mov ecx, dword [ecx + eax]
lea edx, [ebp - 0x244]
call fcn.0042743a
mov ebx, eax
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x220], eax
test ebx, ebx
js 0x423006
mov esi, dword [ebp - 0x224]
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x228]
mov edx, dword [ebp - 0x22c]
inc eax
mov dword [ebp - 0x220], eax
cmp eax, dword [ebp - 0x23c]
jae 0x423a81
mov ecx, dword [ebp - 0x21c]
jmp 0x4230af
mov ecx, ebx
call fcn.00427566
mov edi, dword [ebp - 0x25c]
jmp 0x42300d
cmp ecx, 5
je 0x423a8b
cmp ecx, 6
jne 0x423aa2
cmp edx, 3
je 0x423aa2
cmp dword [ebp - 0x274], 0
je 0x423aa7
cmp dword [ebp - 0x270], 0
je 0x423aa7
cmp ecx, 8
jne 0x423ab1
mov dword [ebp - 0x26c], 1
test ecx, ecx
jne 0x423bdf
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x423086
cmp eax, 0x104
jb 0x423afe
mov ebx, 0x8007007a
mov ecx, ebx
jmp 0x422fdc
mov eax, dword [0x479b84]
test eax, eax
je 0x423b0c
cmp eax, 0xffffffff
jne 0x423b0e
xor eax, eax
lea ecx, [ebp - 0x218]
push ecx
push 0x407040
push dword [0x47c110]
push eax
call fcn.0041704b
mov eax, dword [0x479b84]
add esp, 0x10
test eax, eax
je 0x423b37
cmp eax, 0xffffffff
jne 0x423b39
xor eax, eax
push ebx
push 0x40cd90
push dword [0x47c110]
push eax
call fcn.0041704b
add esp, 0x10
lea edx, [ebp - 0x260]
lea ecx, [ebp - 0x218]
call fcn.0044b689
xor ecx, ecx
test eax, eax
setns cl
mov dword [ebp - 0x228], ecx
mov ecx, dword [ebp - 0x260]
test ecx, ecx
je 0x423b82
call fcn.0044be3f
and dword [ebp - 0x260], 0
lea eax, [ebp - 0x238]
mov edx, 0x409290
push eax
call fcn.00424656
mov ebx, eax
test ebx, ebx
jns 0x423ba2
mov ecx, ebx
call fcn.00427566
jmp 0x423bae
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x2a0], eax
mov ecx, ebx
call fcn.0042757e
test ebx, ebx
js 0x423006
cmp dword [ebp - 0x2a0], 0
je 0x423bcb
push 4
pop ecx
jmp 0x423bd9
mov ecx, dword [ebp - 0x228]
neg ecx
sbb ecx, ecx
and ecx, 6
inc ecx
mov dword [ebp - 0x228], ecx
cmp dword [ebp - 0x22c], 0
jne 0x423bfd
xor eax, eax
cmp ecx, 7
setne al
dec eax
and eax, 6
add eax, 2
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x240]
mov edx, dword [ebp - 0x268]
and dword [ebp - 0x268], 0
mov dword [ebp - 0x238], edx
mov ecx, dword [ecx]
test ecx, ecx
je 0x423c27
call fcn.00427347
mov edx, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x240]
mov eax, edx
neg eax
sbb eax, eax
and eax, edx
mov edx, dword [ebp - 0x244]
and dword [ebp - 0x244], 0
mov dword [ecx], eax
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x238], edx
test ecx, ecx
je 0x423c5c
call fcn.00427347
mov edx, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x240]
mov eax, edx
neg eax
sbb eax, eax
and eax, edx
mov edx, dword [ebp - 0x254]
and dword [ebp - 0x254], 0
mov dword [ecx + 4], eax
mov eax, ecx
mov dword [ebp - 0x238], edx
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x423c94
call fcn.00427347
mov edx, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x240]
mov eax, edx
neg eax
sbb eax, eax
and eax, edx
mov edx, dword [ebp - 0x250]
and dword [ebp - 0x250], 0
mov dword [ecx + 8], eax
mov eax, ecx
mov dword [ebp - 0x238], edx
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x423ccc
call fcn.00427347
mov edx, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x240]
mov eax, edx
neg eax
sbb eax, eax
and eax, edx
mov edx, dword [ebp - 0x24c]
and dword [ebp - 0x24c], 0
mov dword [ecx + 0xc], eax
mov eax, ecx
mov dword [ebp - 0x238], edx
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x423d04
call fcn.00427347
mov edx, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x240]
mov eax, edx
neg eax
sbb eax, eax
and eax, edx
mov edx, edi
xor edi, edi
mov dword [ecx + 0x14], eax
mov dword [ebp - 0x25c], edi
mov ecx, dword [ecx + 0x18]
mov dword [ebp - 0x238], edx
test ecx, ecx
je 0x423d37
call fcn.00427347
mov edx, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x240]
mov eax, edx
neg eax
sbb eax, eax
and eax, edx
mov edx, esi
xor esi, esi
mov dword [ecx + 0x18], eax
mov dword [ebp - 0x224], esi
mov ecx, dword [ecx + 0x1c]
mov dword [ebp - 0x238], edx
test ecx, ecx
je 0x423d6a
call fcn.00427347
mov edx, dword [ebp - 0x238]
mov eax, edx
mov ecx, dword [ebp - 0x248]
neg eax
mov dword [ebp - 0x238], ecx
sbb eax, eax
and eax, edx
mov edx, dword [ebp - 0x240]
mov dword [edx + 0x1c], eax
mov eax, dword [ebp - 0x270]
and dword [ebp - 0x248], esi
mov dword [edx + 0x20], eax
mov eax, dword [ebp - 0x278]
mov dword [edx + 0x24], eax
mov eax, dword [ebp - 0x27c]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 0x280]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 0x26c]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 0x284]
mov dword [edx + 0x34], eax
mov eax, dword [ebp - 0x288]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0x28c]
mov dword [edx + 0x3c], eax
mov eax, dword [ebp - 0x290]
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x294]
mov dword [edx + 0x44], eax
mov eax, dword [ebp - 0x298]
mov dword [edx + 0x48], eax
cmp dword [edx + 0x10], esi
je 0x423e09
mov ecx, dword [edx + 0x10]
call fcn.00427347
mov ecx, dword [ebp - 0x238]
mov edx, dword [ebp - 0x240]
mov eax, ecx
neg eax
sbb eax, eax
and eax, ecx
mov ecx, dword [ebp - 0x228]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x22c]
mov dword [edx + 0x4c], ecx
mov dword [edx + 0x50], eax
test ebx, ebx
jns 0x423e54
mov eax, dword [0x479b84]
test eax, eax
je 0x423e38
cmp eax, 0xffffffff
jne 0x423e3a
xor eax, eax
push ebx
push 0x40cdc8
push 0x406d68
push dword [0x47c110]
push eax
call fcn.0041704b
add esp, 0x14
mov ecx, ebx
call fcn.0042757e
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x260]
test eax, eax
je 0x423e77
mov ecx, eax
call fcn.0044be3f
and dword [ebp - 0x260], 0
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x248]
test ecx, ecx
je 0x423e91
call fcn.00427347
and dword [ebp - 0x248], 0
mov byte [ebp - 4], 0x10
test esi, esi
je 0x423ea7
mov ecx, esi
call fcn.00427347
and dword [ebp - 0x224], 0
mov byte [ebp - 4], 0x11
test edi, edi
je 0x423ec0
mov ecx, edi
call fcn.00427347
xor edi, edi
mov dword [ebp - 0x25c], edi
jmp 0x423ec2
xor edi, edi
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x24c]
test ecx, ecx
je 0x423edb
call fcn.00427347
mov dword [ebp - 0x24c], edi
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x250]
test ecx, ecx
je 0x423ef4
call fcn.00427347
mov dword [ebp - 0x250], edi
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x254]
test ecx, ecx
je 0x423f0d
call fcn.00427347
mov dword [ebp - 0x254], edi
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x264]
test ecx, ecx
je 0x423f26
call fcn.00427347
mov dword [ebp - 0x264], edi
mov byte [ebp - 4], 0x16
mov esi, dword [ebp - 0x244]
test esi, esi
je 0x423f41
mov ecx, esi
call fcn.00427347
mov dword [ebp - 0x244], edi
mov dword [ebp - 4], 0x17
mov ecx, dword [ebp - 0x268]
test ecx, ecx
je 0x423f5d
call fcn.00427347
mov dword [ebp - 0x268], edi
or dword [ebp - 4], 0xffffffff
mov eax, ebx
call fcn.00472e69
ret