Function at 0x421e72
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x190
push ebx
push esi
push edi
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x120], 0xffffffff
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x158], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10c], 0xffffffff
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0xb0], 3
mov dword [ebp - 0xd4], 0x7fff
mov dword [ebp - 0x150], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 3
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0x98], 1
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0x54], 0
cmp dword [ebp + 0x28], 0
je 0x421f72
inc dword [0x52de98]
mov eax, dword [0x52de98]
push eax
push 2
call fcn.004d4fdd
add esp, 8
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + 0x18], eax
jle 0x421f9d
mov eax, dword [ebp - 0x2c]
mov dword [ebp + 0x18], eax
xor eax, eax
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x90]
neg eax
sub dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x34], 2
jne 0x421fc6
mov dword [ebp - 0x78], 1
jmp 0x421fcd
mov dword [ebp - 0x78], 0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x34], 0x22
jne 0x421fe9
mov dword [ebp - 0xbc], 1
jmp 0x421ff3
mov dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x60], 0
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x64], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x160], eax
jmp 0x42205c
mov eax, dword [ebp - 0x2c]
inc eax
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x70], 1
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x70], 0
mov dword [ebp - 0x12c], 0
jmp 0x4220bd
mov dword [ebp - 0x12c], 1
jmp 0x4220bd
cmp dword [ebp - 0x160], 0x22
ja case.0x422077.6
mov eax, dword [ebp - 0x160]
xor ecx, ecx
mov cl, byte [eax + 0x42209a]
jmp dword [ecx*4 + 0x42207e]
cmp dword [ebp - 0x2c], 1
jne 0x4220de
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x68], 0xffffffff
jne 0x4220de
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x68], 0
mov eax, dword [ebp - 0x1c]
test byte [eax + 0x10], 8
je 0x4220ff
mov dword [ebp - 0xf8], 1
mov dword [ebp - 0x98], 0
push 0
push 8
mov eax, dword [ebp - 0x1c]
add eax, 0x10
push eax
call fcn.004e43fc
add esp, 0xc
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp + 0x14]
cmp eax, 1
jne 0x42212b
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x164], eax
jmp 0x42237e
mov dword [ebp - 0xa8], 0xffffffff
jmp case.0x4223a0.21
mov dword [ebp - 0xb0], 1
jmp case.0x4223a0.21
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + 0x18], eax
jge 0x422170
mov dword [ebp - 0xb0], 1
mov dword [ebp - 0xa8], 2
jmp case.0x4223a0.21
mov dword [ebp - 0xb0], 2
jmp case.0x4223a0.21
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + 0x18], eax
jge 0x4221a4
mov dword [ebp - 0xb0], 2
mov dword [ebp - 0xa8], 1
jmp case.0x4223a0.21
mov eax, dword [ebp + 0x14]
cdq
xor eax, edx
sub eax, edx
and eax, 1
xor eax, edx
sub eax, edx
je 0x4221d7
mov dword [ebp - 0xa8], 2
jmp 0x4221e1
mov dword [ebp - 0xa8], 1
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp + 0x14]
cmp eax, 1
jle 0x4221fa
mov dword [ebp - 0xe4], 1
jmp case.0x4223a0.21
mov eax, dword [ebp + 0x14]
cdq
xor eax, edx
sub eax, edx
and eax, 1
xor eax, edx
sub eax, edx
je 0x422239
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + 0x18], eax
jge 0x42222a
mov dword [ebp - 0xb0], 1
mov dword [ebp - 0xa8], 2
jmp 0x422259
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + 0x18], eax
jge 0x42224f
mov dword [ebp - 0xb0], 2
mov dword [ebp - 0xa8], 1
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp + 0x14]
cmp eax, 1
jle 0x422272
mov dword [ebp - 0xe4], 1
jmp case.0x4223a0.21
mov eax, dword [ebp + 0x14]
cdq
xor eax, edx
sub eax, edx
and eax, 3
xor eax, edx
sub eax, edx
je 0x42229b
mov dword [ebp - 0xa8], 2
jmp 0x4222a5
mov dword [ebp - 0xa8], 1
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp + 0x14]
cmp eax, 2
jle 0x4222be
mov dword [ebp - 0xe4], 1
jmp case.0x4223a0.21
mov eax, dword [ebp + 0x14]
cdq
xor eax, edx
sub eax, edx
and eax, 3
xor eax, edx
sub eax, edx
jne 0x422316
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + 0x18], eax
jge 0x4222ee
mov dword [ebp - 0xb0], 2
mov dword [ebp - 0xa8], 1
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp + 0x14]
cmp eax, 1
jle 0x422311
mov dword [ebp - 0xe4], 1
jmp 0x422374
mov eax, dword [ebp + 0x14]
inc eax
cdq
xor eax, edx
sub eax, edx
and eax, 3
xor eax, edx
sub eax, edx
jne 0x422351
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + 0x18], eax
jge 0x422342
mov dword [ebp - 0xb0], 1
mov dword [ebp - 0xa8], 2
jmp 0x422374
mov dword [ebp - 0xa8], 2
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp + 0x14]
cmp eax, 1
jle 0x422374
mov dword [ebp - 0xe4], 1
jmp case.0x4223a0.21
sub dword [ebp - 0x164], 3
cmp dword [ebp - 0x164], 0x1f
ja case.0x4223a0.21
mov eax, dword [ebp - 0x164]
xor ecx, ecx
mov cl, byte [eax + 0x4223ff]
jmp dword [ecx*4 + 0x4223a7]
cmp dword [ebp - 0xb0], 3
je 0x422436
mov dword [ebp - 0x98], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xfc], 1
mov dword [ebp - 0x128], 0
cmp dword [ebp - 0x2c], 1
jle 0x42248b
mov dword [ebp - 0xf0], 1
jmp 0x422495
mov dword [ebp - 0xf0], 0
cmp dword [ebp - 0x12c], 0
jne 0x4224ac
cmp dword [ebp - 0x70], 0
je 0x4224b8
mov dword [ebp - 0x64], 0
jmp 0x4224d0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x70]
mov ecx, dword [ebp - 0x1c]
add eax, dword [ecx + 0x84]
mov ecx, dword [ebp - 0x1c]
add eax, dword [ecx + 0x78]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xf4], eax
jmp 0x4224e4
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
cmp dword [ebp + 0x18], eax
jle 0x4229f0
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
add eax, 0x30
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx + 4]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x90], 0
je 0x4225d4
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x10], 0
jl 0x4225d4
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x10]
push eax
push 0x66
mov eax, dword [ebp + 0xc]
push eax
call fcn.00476b89
add esp, 0x10
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
jne 0x4225ca
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x1c]
movsx eax, word [eax]
mov ecx, dword [ebp - 0x110]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x110]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x110]
mov dword [eax + 0x1c], 0
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0x30]
push eax
call fcn.004796fa
add esp, 4
mov eax, dword [ebp - 0x30]
push eax
call fcn.0047947b
add esp, 4
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0x104], 0
jmp 0x4225e9
inc dword [ebp - 0x104]
cmp dword [ebp - 0x104], 4
jge 0x42273a
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x5c]
cmp dword [ecx + eax*4 + 0xc4], 0xffffffff
je 0x422735
lea eax, [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx + eax*4 + 0xc4]
push eax
push 0x6b
mov eax, dword [ebp + 0xc]
push eax
call fcn.00476b89
add esp, 0x10
test eax, eax
je 0x422674
mov eax, dword [ebp + 0x10]
push eax
call fcn.0047557c
add esp, 4
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + eax*4 + 0xc4], 0xffffffff
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + eax*4 + 0xd4], 0
jmp 0x422735
mov eax, dword [ebp - 0xc0]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xc0]
push eax
call fcn.004796fa
add esp, 4
mov eax, dword [ebp - 0x94]
inc dword [eax + 0x10]
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x5c]
cmp dword [ecx + eax*4 + 0xd4], 0
jl 0x422719
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x5c]
cmp dword [ecx + eax*4 + 0xd4], 1
jg 0x422719
mov eax, dword [ebp - 0x1c]
movsx eax, word [eax]
mov ecx, dword [ebp - 0x104]
mov edx, dword [ebp - 0x5c]
mov ecx, dword [edx + ecx*4 + 0xd4]
lea ecx, [ecx + ecx*4]
shl ecx, 4
mov edx, dword [ebp - 0x94]
mov dword [ecx + edx + 0x48], eax
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x104]
mov edx, dword [ebp - 0x5c]
mov ecx, dword [edx + ecx*4 + 0xd4]
lea ecx, [ecx + ecx*4]
shl ecx, 4
mov edx, dword [ebp - 0x94]
mov dword [ecx + edx + 0x4c], eax
mov eax, dword [ebp - 0xc0]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0xc0]
push eax
call fcn.0047947b
add esp, 4
jmp 0x4225e3
mov eax, dword [ebp - 0x5c]
test byte [eax + 0xf5], 1
je 0x422961
mov eax, dword [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004385d2
add esp, 8
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0xffffffff
je 0x422938
lea eax, [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x120]
push eax
push 0x65
mov eax, dword [ebp + 0xc]
push eax
call fcn.00476b89
add esp, 0x10
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
jne 0x422911
mov eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x168], eax
jmp 0x4228cf
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x8c]
dec eax
push eax
mov eax, dword [ebp - 0x15c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x38]
mov ecx, dword [ebp - 0x3c]
sub eax, dword [ecx + 0x30]
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x38]
mov edx, dword [ebp - 0x5c]
sub ecx, dword [edx + 0x30]
cmp eax, ecx
je 0x422813
push 1
push 2
mov eax, dword [ebp - 0x15c]
add eax, 0x10
push eax
call fcn.004e43fc
add esp, 0xc
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x3c]
sub eax, dword [ecx + 0x34]
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x3c]
mov edx, dword [ebp - 0x5c]
sub ecx, dword [edx + 0x34]
cmp eax, ecx
je 0x422861
push 1
push 2
mov eax, dword [ebp - 0x15c]
add eax, 0x10
push eax
call fcn.004e43fc
add esp, 0xc
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + 0x3c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x34]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + 0x34], eax
mov eax, dword [ebp - 0x15c]
test byte [eax + 0x10], 2
je 0x422880
mov dword [ebp - 0x114], 1
jmp 0x42288f
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0x114], 0
je 0x4228a8
mov eax, dword [ebp - 0x80]
push eax
call fcn.004796fa
add esp, 4
jmp 0x4228fb
push 0
push 0x100
mov eax, dword [ebp - 0x5c]
add eax, 0xf4
push eax
call fcn.004e43fc
add esp, 0xc
jmp 0x4228fb
cmp dword [ebp - 0x168], 0x18
je 0x4227bd
cmp dword [ebp - 0x168], 0x1a
je 0x4227bd
cmp dword [ebp - 0x168], 0x20
je 0x4227bd
jmp 0x4228ad
mov eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0x80]
push eax
call fcn.0047947b
add esp, 4
cmp dword [ebp - 0xb8], 0
je 0x422933
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0xb8]
jmp 0x425f7d
jmp 0x42295c
mov eax, dword [ebp - 0x5c]
cmp dword [eax], 0xffffffff
jne 0x42295c
push 0
push 0x100
mov eax, dword [ebp - 0x5c]
add eax, 0xf4
push eax
call fcn.004e43fc
add esp, 0xc
jmp 0x422961
cmp dword [ebp - 0x70], 0
je 0x422989
mov eax, dword [ebp - 0xd4]
cmp dword [ebp - 0xdc], eax
jge 0x422989
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xfc], 0
je 0x4229c3
mov dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0xb4]
cmp dword [ebp - 0xdc], eax
jle 0x4229be
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xb4], eax
jmp 0x4229eb
mov eax, dword [ebp - 0xd8]
cmp dword [ebp - 0xdc], eax
jle 0x4229e1
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xfc], 1
jmp 0x4224de
cmp dword [ebp - 0x78], 0
je 0x422a3a
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp + 0x14]
cmp eax, 1
jle 0x422a29
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x80]
add eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0xb4]
mov dword [ebp - 0x90], eax
jmp 0x422a35
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x90], eax
jmp 0x422a64
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xd8]
cmp dword [ebp - 0x90], eax
jge 0x422a64
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0xbc], 0
je 0x422a8a
cmp dword [ebp - 0x2c], 1
jle 0x422a8a
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x84]
add dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xd4]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xfc], 1
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xf4], eax
jmp 0x422aba
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
cmp dword [ebp + 0x18], eax
jle 0x425434
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x16c], eax
jmp 0x422be6
cmp dword [ebp - 0xf4], 0
jne 0x422b46
cmp dword [ebp - 0x34], 0
jne 0x422b46
mov eax, dword [ebp - 0xf4]
dec eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
dec eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x34], 1
jmp 0x422b4d
mov dword [ebp - 0x58], 0
jmp 0x422c05
mov eax, dword [ebp - 0xf4]
cmp dword [ebp - 0x130], eax
jne 0x422b95
cmp dword [ebp - 0x34], 0
jne 0x422b95
mov dword [ebp - 0x58], 0
mov eax, dword [ebp - 0xf4]
dec eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
dec eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x34], 1
jmp 0x422bb5
cmp dword [ebp - 0xf4], 0
jne 0x422bae
mov dword [ebp - 0x58], 1
jmp 0x422bb5
mov dword [ebp - 0x58], 0
jmp 0x422c05
mov eax, dword [ebp - 0xf4]
cmp dword [ebp + 0x14], eax
jne 0x422bd5
mov dword [ebp - 0x58], 1
jmp 0x422bdc
mov dword [ebp - 0x58], 0
jmp 0x422c05
cmp dword [ebp - 0x16c], 0x1a
je 0x422b52
cmp dword [ebp - 0x16c], 0x20
je 0x422b08
jmp 0x422bba
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0x5c]
push eax
call fcn.00421db4
add esp, 8
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0xf4]
and eax, 4
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0xf4]
and eax, 0x80
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0x14], 0
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0x18], 0
mov eax, dword [ebp - 0x128]
add dword [ebp - 0x8c], eax
cmp dword [ebp - 0x58], 0
jne 0x422c87
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x58]
add dword [ebp - 0x8c], eax
mov dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x5c]
add eax, 0x30
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x70], 0
je 0x422dcf
cmp dword [ebp - 0xa0], 0
je 0x422dcf
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x2c], 0xffffffff
je 0x422db1
lea eax, [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x2c]
push eax
push 0x65
mov eax, dword [ebp + 0xc]
push eax
call fcn.00476b89
add esp, 0x10
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
jne 0x422d97
mov eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x30]
push eax
mov eax, dword [ebp - 0x15c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x3c]
push eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x38]
push eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x34]
push eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x30]
push eax
mov eax, dword [ebp - 0x38]
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0xf0]
push eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0xec]
push eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0xe8]
push eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0xe4]
push eax
mov eax, dword [ebp - 0x5c]
add eax, 0xe4
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x60], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x64]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x64], eax
mov eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x422dac
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0xb8]
jmp 0x425f7d
jmp 0x422dcf
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x38]
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x2d], 8
je 0x422e01
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx + 4]
mov dword [ebp - 0xdc], eax
jmp 0x422e6b
cmp dword [ebp - 0xbc], 0
je 0x422e5c
mov eax, dword [ebp - 0xf4]
cmp dword [ebp - 0x2c], eax
jne 0x422e5c
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xdc], eax
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x38]
push eax
call dword [sym.imp.USER32.dll_SetRect]
xor eax, eax
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x7c]
neg eax
sub dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xe8], eax
jmp 0x422e6b
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0xf0]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xfc], 0
jne 0x422e8d
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x80]
add eax, dword [ebp - 0xb4]
add dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004385d2
add esp, 8
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0xffffffff
je 0x424a48
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
lea eax, [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x120]
push eax
push 0x65
mov eax, dword [ebp + 0xc]
push eax
call fcn.00476b89
add esp, 0x10
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
je 0x422ef1
mov eax, dword [ebp - 0xb8]
jmp 0x425f7d
push 1
mov eax, dword [ebp - 0x80]
push eax
call fcn.00479491
add esp, 8
mov eax, dword [ebp - 0x80]
push eax
call fcn.004796fa
add esp, 4
mov eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x170], eax
jmp 0x422fda
cmp dword [ebp - 0xa0], 0
jne 0x422f6d
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x24]
mov ecx, dword [ebp - 0x15c]
sub eax, dword [ecx + 0x1c]
cmp eax, dword [ebp - 0x28]
je 0x422f6d
push 1
push 2
mov eax, dword [ebp - 0x15c]
add eax, 0x10
push eax
call fcn.004e43fc
add esp, 0xc
jmp 0x422ff9
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x8c]
dec eax
push eax
mov eax, dword [ebp - 0x15c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0xa0], 0
jne 0x422fd0
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0xec]
mov ecx, dword [ebp - 0x3c]
sub eax, dword [ecx + 0xe4]
cmp eax, dword [ebp - 0x28]
je 0x422fd0
push 1
push 2
mov eax, dword [ebp - 0x15c]
add eax, 0x10
push eax
call fcn.004e43fc
add esp, 0xc
jmp 0x422ff9
cmp dword [ebp - 0x170], 0x13
je 0x422f2f
cmp dword [ebp - 0x170], 0x1c
je 0x422f72
jmp 0x422ff9
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x174], eax
jmp 0x4231f6
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x178], eax
jmp 0x4231c0
mov dword [ebp - 0x44], 0x18
cmp dword [ebp - 0xe4], 0
je case.0x4230cf.4
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x17c], eax
jmp 0x4230ad
mov eax, dword [ebp - 0xf4]
cmp dword [ebp + 0x14], eax
jge 0x423059
mov dword [ebp - 0x44], 0x20
jmp case.0x4230cf.4
mov eax, dword [ebp + 0x14]
inc eax
cmp eax, dword [ebp - 0xf4]
jge 0x423075
mov dword [ebp - 0x44], 0x20
jmp case.0x4230cf.4
mov eax, dword [ebp + 0x14]
inc eax
cmp eax, dword [ebp - 0xf4]
je 0x42309c
mov eax, dword [ebp + 0x14]
add eax, 3
cmp eax, dword [ebp - 0xf4]
jne 0x4230a3
mov dword [ebp - 0x44], 0x20
jmp case.0x4230cf.4
sub dword [ebp - 0x17c], 3
cmp dword [ebp - 0x17c], 0xc
ja case.0x4230cf.4
mov eax, dword [ebp - 0x17c]
xor ecx, ecx
mov cl, byte [eax + 0x4230ea]
jmp dword [ecx*4 + 0x4230d6]
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x44]
cmp dword [eax + 0x34], ecx
je 0x42312b
push 1
push 2
mov eax, dword [ebp - 0x15c]
add eax, 0x10
push eax
call fcn.004e43fc
add esp, 0xc
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx + 0x34], eax
jmp 0x4231ec
mov dword [ebp - 0x44], 0x20
cmp dword [ebp - 0xe4], 0
je 0x42315a
mov eax, dword [ebp - 0xf4]
cmp dword [ebp + 0x14], eax
jge 0x42315a
mov dword [ebp - 0x44], 0x18
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x44]
cmp dword [eax + 0x34], ecx
je 0x42318e
push 1
push 2
mov eax, dword [ebp - 0x15c]
add eax, 0x10
push eax
call fcn.004e43fc
add esp, 0xc
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx + 0x34], eax
jmp 0x4231ec
push 1
push 2
mov eax, dword [ebp - 0x15c]
add eax, 0x10
push eax
call fcn.004e43fc
add esp, 0xc
mov eax, dword [ebp - 0x15c]
mov dword [eax + 0x34], 0x19
jmp 0x4231ec
cmp dword [ebp - 0x178], 0xffffffff
je 0x423193
cmp dword [ebp - 0x178], 1
je 0x42301e
cmp dword [ebp - 0x178], 2
je 0x423130
jmp 0x4231ec
jmp 0x423222
cmp dword [ebp - 0x174], 0x18
je 0x42300d
cmp dword [ebp - 0x174], 0x1a
je 0x42300d
cmp dword [ebp - 0x174], 0x20
je 0x42300d
jmp 0x423222
mov eax, dword [ebp - 0x15c]
test byte [eax + 0x10], 2
je 0x42323e
mov dword [ebp - 4], 1
jmp 0x423245
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x15c]
cmp dword [eax + 0x68], 3
jne 0x423270
mov dword [ebp - 0x74], 1
jmp 0x423277
mov dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp dword [ebp + 0x20], 0
je 0x423292
mov dword [ebp - 4], 1
cmp dword [ebp - 4], 0
je 0x4232ed
mov eax, dword [ebp + 0x28]
push eax
mov eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x24]
push eax
push 3
mov eax, dword [ebp - 0x80]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 0xec]
call dword [eax*4 + 0x52de00]
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
je 0x4232ed
mov eax, dword [ebp - 0x80]
push eax
call fcn.0047947b
add esp, 4
mov eax, dword [ebp - 0xb8]
jmp 0x425f7d
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x74], 0
je 0x4233c3
cmp dword [ebp - 0xf8], 0
jne 0x4233c3
cmp dword [ebp - 4], 0
jne 0x4233c3
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0xa4]
add eax, dword [ebp - 0x15c]
mov dword [ebp - 0x118], eax
add dword [ebp - 0x118], 8
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x50]
mov ecx, dword [ebp - 0x118]
add eax, dword [ecx + 4]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 0x118]
sub eax, dword [ecx + 4]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0xa0]
add eax, dword [ebp - 0x15c]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 8]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x5c]
add eax, 0x30
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa0]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x180], eax
jmp 0x423c4b
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0xa0]
add eax, dword [ebp - 0x15c]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x8c]
lea eax, [eax*4 - 8]
lea eax, [eax + eax*4]
mov ecx, dword [ebp - 8]
mov eax, dword [eax + ecx + 0xc]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
add dword [ebp - 0x8c], eax
mov dword [ebp - 0x6c], 1
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x8c]
dec eax
push eax
mov eax, dword [ebp - 0x15c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x114], 0
jne 0x423470
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x60], eax
jmp 0x423cc1
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x8c]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0xa0]
add eax, dword [ebp - 0x15c]
mov dword [ebp - 8], eax
cmp dword [ebp - 0x60], 0
jle 0x4234c3
mov eax, dword [ebp - 0x60]
lea eax, [eax*4 - 4]
lea eax, [eax + eax*4]
mov ecx, dword [ebp - 8]
mov eax, dword [eax + ecx + 0xc]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
add dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x8c]
dec eax
cmp eax, dword [ebp - 0x60]
jle 0x423543
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x8c]
sub eax, 2
push eax
mov eax, dword [ebp - 0x15c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x8c]
dec eax
push eax
mov eax, dword [ebp - 0x15c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
xor eax, eax
mov ecx, dword [ebp - 0x3c]
sub eax, dword [ecx + 0x38]
neg eax
sub dword [ebp - 0x150], eax
mov dword [ebp - 0x6c], 1
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x8c]
dec eax
push eax
mov eax, dword [ebp - 0x15c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x114], 0
jne 0x423583
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x60], eax
jmp 0x423cc1
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x8c]
sub eax, 2
push eax
mov eax, dword [ebp - 0x15c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x8c]
dec eax
push eax
mov eax, dword [ebp - 0x15c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
xor eax, eax
mov ecx, dword [ebp - 0x3c]
sub eax, dword [ecx + 0x38]
neg eax
sub dword [ebp - 0x150], eax
mov dword [ebp - 0x6c], 1
cmp dword [ebp - 0x114], 0
jne 0x423606
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x60], eax
jmp 0x423cc1
mov dword [ebp - 0x54], 1
mov dword [ebp - 0x68], 1
cmp dword [ebp - 0x40], 0
jne 0x4236c6
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0042b99f
add esp, 8
test eax, eax
je 0x423687
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x128]
push ecx
mov eax, dword [eax + 0x124]
push eax
mov eax, dword [ebp - 0x38]
push eax
call fcn.0042d580
add esp, 0xc
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x44], eax
jle 0x423687
mov eax, dword [ebp - 0x44]
add eax, 3
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x2d], 0x20
jne 0x4236b8
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x2d], 8
jne 0x4236b8
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x80]
add eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x60], eax
jmp 0x4236c1
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x60], eax
jmp 0x4236d2
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x64]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x60], eax
cmp dword [ebp - 0xbc], 0
je 0x423730
cmp dword [ebp - 0x2c], 1
jle 0x42371b
mov eax, dword [ebp - 0x2c]
shl eax, 2
lea eax, [eax + eax*4]
mov ecx, dword [ebp - 8]
mov eax, dword [eax + ecx + 4]
mov ecx, dword [ebp - 8]
sub eax, dword [ecx + 0x18]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 0x18]
add ecx, eax
mov dword [ebp - 0xe8], ecx
jmp 0x423730
mov eax, dword [ebp - 0xe8]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebp - 0xe8], eax
jmp 0x423cc1
mov dword [ebp - 0x54], 1
mov dword [ebp - 0x68], 0
cmp dword [ebp - 0x40], 0
jne 0x42380c
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0042b99f
add esp, 8
test eax, eax
je 0x4237b1
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x128]
push ecx
mov eax, dword [eax + 0x124]
push eax
mov eax, dword [ebp - 0x38]
push eax
call fcn.0042d580
add esp, 0xc
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x44], eax
jge 0x4237b1
mov eax, dword [ebp - 0x44]
add eax, 3
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x2d], 0x20
jne 0x4237ed
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x2d], 8
jne 0x4237ed
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
mov ecx, dword [ebp - 0x5c]
sub eax, dword [ecx + 0x88]
sub eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x60], eax
jmp 0x423807
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x60], eax
jmp 0x423818
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x64]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x60], eax
cmp dword [ebp - 0xbc], 0
je 0x423886
cmp dword [ebp - 0x2c], 1
jle 0x42386b
mov eax, dword [ebp - 0x2c]
shl eax, 2
lea eax, [eax + eax*4]
mov ecx, dword [ebp - 8]
mov ecx, dword [eax + ecx + 4]
mov eax, dword [ebp - 0x2c]
shl eax, 2
lea eax, [eax + eax*4]
mov edx, dword [ebp - 8]
mov eax, dword [eax + edx + 4]
mov edx, dword [ebp - 8]
sub eax, dword [edx + 0x18]
cdq
and edx, 7
add eax, edx
sar eax, 3
sub ecx, eax
mov dword [ebp - 0xe8], ecx
jmp 0x423886
xor ecx, ecx
mov eax, dword [ebp - 0xe8]
cdq
and edx, 7
add eax, edx
sar eax, 3
sub ecx, eax
neg ecx
sub dword [ebp - 0xe8], ecx
jmp 0x423cc1
cmp dword [ebp - 0xbc], 0
je 0x4238c4
mov eax, dword [ebp - 0xe8]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x58]
sub eax, dword [ebp - 0xe8]
mov dword [ebp - 0x124], eax
jmp 0x42395d
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x2d], 0x20
jne 0x42390c
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x2d], 8
jne 0x42390c
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
mov ecx, dword [ebp - 0x5c]
sub eax, dword [ecx + 0x88]
mov ecx, dword [ebp - 0x5c]
add eax, dword [ecx + 0x80]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x60], eax
jmp 0x423923
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x60], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
jne 0x423948
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x124], eax
jmp 0x42395d
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x58]
mov ecx, dword [ebp - 0x5c]
sub eax, dword [ecx + 0x60]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0xa0]
add eax, dword [ebp - 0x15c]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 8]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x15c]
cmp dword [eax + 0x98], 0
jle 0x4239f1
mov eax, dword [ebp - 0x124]
sub eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x15c]
mov ecx, dword [ecx + 0x98]
lea ecx, [ecx*4 - 4]
lea ecx, [ecx + ecx*4]
mov edx, dword [ebp - 8]
mov dword [ecx + edx + 4], eax
mov eax, dword [ebp - 0x124]
sub eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x15c]
cmp eax, dword [ecx + 0x1c]
jge 0x423a1b
mov eax, dword [ebp - 0x124]
sub eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx + 0x1c], eax
jmp 0x423cc1
cmp dword [ebp - 0xbc], 0
je 0x423a50
mov eax, dword [ebp - 0xe8]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x124], eax
jmp 0x423ae0
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x2d], 0x20
jne 0x423a98
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x2d], 8
jne 0x423a98
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
mov ecx, dword [ebp - 0x5c]
sub eax, dword [ecx + 0x88]
mov ecx, dword [ebp - 0x5c]
add eax, dword [ecx + 0x80]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x60], eax
jmp 0x423aaf
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x60], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
jne 0x423ad4
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x124], eax
jmp 0x423ae0
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x60]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0xa0]
add eax, dword [ebp - 0x15c]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 8]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cdq
xor eax, edx
sub eax, edx
and eax, 1
xor eax, edx
sub eax, edx
je 0x423b40
inc dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x15c]
cmp dword [eax + 0x98], 0
jle 0x423b8c
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x15c]
mov ecx, dword [ecx + 0x98]
lea ecx, [ecx*4 - 4]
lea ecx, [ecx + ecx*4]
mov edx, dword [ebp - 8]
mov dword [ecx + edx + 0xc], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x15c]
cmp eax, dword [ecx + 0x24]
jle 0x423bb6
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx + 0x24], eax
jmp 0x423cc1
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x60], eax
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x2d], 0x20
jne 0x423c22
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x2d], 8
jne 0x423c22
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x10], 0
jl 0x423c22
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
mov ecx, dword [ebp - 0x5c]
add eax, dword [ecx + 0x80]
mov ecx, dword [ebp - 0x5c]
sub eax, dword [ecx + 0x88]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x60], eax
cmp dword [ebp - 0xbc], 0
je 0x423c41
mov eax, dword [ebp - 0xe8]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xe8], eax
jmp 0x423cc1
sub dword [ebp - 0x180], 4
cmp dword [ebp - 0x180], 0x1c
ja case.0x423c6d.11
mov eax, dword [ebp - 0x180]
xor ecx, ecx
mov cl, byte [eax + 0x423ca4]
jmp dword [ecx*4 + 0x423c74]
cmp dword [ebp - 0x74], 0
je 0x423d26
cmp dword [ebp - 0xf8], 0
jne 0x423d21
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x58]
mov ecx, dword [ebp - 0x15c]
sub eax, dword [ecx + 0x14]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x5c]
mov ecx, dword [ebp - 0x15c]
sub eax, dword [ecx + 0x14]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0x28], 0
jmp 0x423d30
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0x28], 0
cmp dword [ebp - 0xfc], 0
jne 0x423d93
xor eax, eax
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x64]
add ecx, dword [ebp - 0xac]
sub eax, ecx
neg eax
sub dword [ebp - 0x8c], eax
mov eax, dword [ebp + 0x14]
inc eax
cmp eax, dword [ebp - 0xf4]
jl 0x423d6f
cmp dword [ebp - 0x4c], 0
je 0x423d93
mov eax, dword [ebp - 0xac]
add eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x8c]
jle 0x423d93
mov eax, dword [ebp - 0xac]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x2d], 0x10
je 0x423f51
cmp dword [ebp - 4], 0
je 0x423f22
cmp dword [ebp - 0xa0], 0
jne 0x423f22
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x24]
mov ecx, dword [ebp - 0x15c]
sub eax, dword [ecx + 0x1c]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x15c]
cmp dword [eax + 0x34], 0x1c
jne 0x423e33
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x8c]
dec eax
push eax
mov eax, dword [ebp - 0x15c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0xec]
mov ecx, dword [ebp - 0x3c]
sub eax, dword [ecx + 0xe4]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x144]
push eax
mov eax, dword [ebp - 0x5c]
push eax
call fcn.0043833a
add esp, 8
mov eax, dword [ebp - 0x13c]
add eax, dword [ebp - 0x144]
add dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x38]
mov ecx, dword [ebp - 0x5c]
sub eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x60]
je 0x423e83
cmp dword [0x531074], 0
jne 0x423e83
mov dword [ebp - 0x9c], 1
push 1
push 2
mov eax, dword [ebp - 0x5c]
add eax, 0x2c
push eax
call fcn.004e43fc
add esp, 0xc
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0xfc], eax
jmp 0x423e90
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0xfc], 0
mov dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x15c]
cmp dword [eax + 0x34], 0x13
jne 0x423ec1
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x28]
mov ecx, dword [ebp - 0x15c]
sub eax, dword [ecx + 0x20]
mov dword [ebp - 0x44], eax
jmp 0x423f03
mov eax, dword [ebp - 0x15c]
cmp dword [eax + 0x34], 0x1c
jne 0x423f03
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x8c]
dec eax
push eax
mov eax, dword [ebp - 0x15c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x15c]
sub eax, dword [ecx + 0x20]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0xf8], eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x44], 0
jmp 0x423f22
mov eax, dword [ebp + 0x1c]
add eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx + 0x54], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0xf8]
add eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x100], eax
jmp 0x42440d
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0x100], 0
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0xf8], 0
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0xfc], 0
mov eax, dword [ebp - 0x15c]
cmp dword [eax + 0x98], 0
je 0x4241f1
cmp dword [ebp - 0x6c], 0
jne 0x4241f1
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0xa0]
add eax, dword [ebp - 0x15c]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x70]
mov ecx, dword [ebp - 0x15c]
add eax, dword [ecx + 0x84]
mov ecx, dword [ebp - 0x15c]
add eax, dword [ecx + 0x78]
neg eax
mov ecx, dword [ebp - 0x90]
sub ecx, dword [ebp - 0xdc]
sub eax, ecx
sub eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
test byte [eax + 0x10], 0x20
jne 0x424003
push 1
push 1
mov eax, dword [ebp - 8]
add eax, 0x10
push eax
call fcn.004e43fc
add esp, 0xc
cmp dword [ebp - 0x54], 0
je 0x42404f
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0xf0], 0
je 0x42404f
mov eax, dword [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x5c]
push eax
call fcn.00421c7c
add esp, 8
test eax, eax
jne 0x42404f
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x5c]
sub eax, dword [ecx + 0x34]
mov ecx, dword [ebp - 0x5c]
sub eax, dword [ecx + 0xf0]
mov ecx, dword [ebp - 8]
add dword [ecx], eax
cmp dword [ebp - 0x40], 0
je case.0x424133.9
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xf4]
inc ecx
cmp dword [eax + 0x9c], ecx
jl 0x4240a9
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa0]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x184], eax
jmp 0x424111
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x38]
sub eax, dword [edx + 4]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp - 0x108]
add edx, eax
sub ecx, edx
neg ecx
mov eax, dword [ebp - 8]
sub dword [eax], ecx
jmp case.0x424133.9
xor eax, eax
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx + 0xc]
mov edx, dword [ebp - 0x38]
sub ecx, dword [edx + 4]
mov edx, dword [ebp - 0x5c]
sub ecx, dword [edx + 0x68]
add ecx, dword [ebp - 0x108]
sub eax, ecx
neg eax
mov ecx, dword [ebp - 8]
sub dword [ecx], eax
jmp case.0x424133.9
sub dword [ebp - 0x184], 3
cmp dword [ebp - 0x184], 0x1d
ja case.0x424133.9
mov eax, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [eax + 0x424162]
jmp dword [ecx*4 + 0x42413a]
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp + 0x1c]
add eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx + 0x54], eax
cmp dword [ebp - 0x74], 0
je 0x4241f1
cmp dword [ebp - 0xf8], 0
je 0x4241f1
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x28], 0
je 0x4241f1
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x28]
mov ecx, dword [ebp - 0x15c]
add dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 8]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 8]
mov dword [ecx + 0xc], eax
cmp dword [ebp - 0x6c], 0
je 0x42440d
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx + 0x54], eax
cmp dword [ebp - 0xfc], 0
jne 0x42422f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x80]
add eax, dword [ebp + 0x1c]
add eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx + 0x54], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x64]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x60]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x15c]
sub eax, dword [ecx + 0x54]
add eax, dword [ebp + 0x1c]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x114], 0
jne 0x42440d
mov dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx + 0x28], eax
mov dword [ebp - 0x104], 0
jmp 0x42429a
inc dword [ebp - 0x104]
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x104]
cmp dword [eax + 0x8c], ecx
jle 0x42440d
mov eax, dword [ebp - 0x104]
push eax
mov eax, dword [ebp - 0x15c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x15c]
push eax
call fcn.004385d2
add esp, 8
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
je 0x424408
lea eax, [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0x20]
push eax
push 0x65
mov eax, dword [ebp + 0xc]
push eax
call fcn.00476b89
add esp, 0x10
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
jne 0x424408
mov eax, dword [ebp - 0xc0]
push eax
call fcn.004796fa
add esp, 4
mov eax, dword [ebp - 0xc0]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x18]
sub eax, dword [ecx + 0x54]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x54], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x70]
mov ecx, dword [ebp - 0x18]
add eax, dword [ecx + 0x84]
mov ecx, dword [ebp - 0x18]
add eax, dword [ecx + 0x78]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0xf0]
mov ecx, dword [ebp - 0x3c]
add eax, dword [ecx + 0x34]
sub eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x28]
add eax, dword [ebp - 0x60]
add dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x44]
cmp dword [eax + 0x28], ecx
jge 0x4243a8
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x15c]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x34], 0x13
je 0x4243ec
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x34], 0x1c
je 0x4243ec
mov eax, dword [ebp - 0x3c]
test byte [eax + 0xf4], 4
jne 0x4243ec
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0xa0]
add eax, dword [ebp - 0x18]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x20]
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc0]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0xc0]
push eax
call fcn.0047947b
add esp, 4
jmp 0x424294
cmp dword [ebp - 0xf8], 0
je 0x424421
mov dword [ebp - 0x74], 0
cmp dword [ebp - 0x74], 0
je 0x4244ac
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x188], eax
jmp 0x424463
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x20]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x28], eax
jmp 0x42448f
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x28], eax
jmp 0x42448f
cmp dword [ebp - 0x188], 1
je 0x42444d
cmp dword [ebp - 0x188], 2
jl 0x42448f
cmp dword [ebp - 0x188], 3
jle 0x42443c
jmp 0x42448f
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24]
mov ecx, dword [ebp - 0x5c]
sub eax, dword [ecx + 0x60]
mov ecx, dword [ebp - 0x5c]
add eax, dword [ecx + 0x28]
mov dword [ebp - 0x154], eax
jmp 0x4244c1
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x5c]
sub eax, dword [ecx + 0x60]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x24]
sub eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x1c]
neg eax
add eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x18], eax
cmp dword [ebp - 0x6c], 0
je 0x424507
xor eax, eax
sub eax, dword [ebp - 0xac]
neg eax
mov ecx, dword [ebp - 0x5c]
sub dword [ecx + 0x18], eax
cmp dword [ebp - 0xc], 0
jle 0x424879
mov eax, dword [ebp - 0x154]
push eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x94]
push eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0xa4]
add eax, dword [ebp - 0x15c]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x94]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa4]
add eax, dword [ebp - 0x1c]
push eax
call fcn.004358da
add esp, 0x14
mov dword [ebp - 0x50], eax
mov eax, dword [0x5310d0]
add dword [ebp - 0x50], eax
cmp dword [ebp - 0x58], 0
jne 0x424575
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x58]
add dword [ebp - 0x50], eax
mov dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x8c]
cmp dword [ebp - 0x50], eax
jle 0x42466d
cmp dword [ebp - 0x74], 0
je 0x4245f1
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x8c]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x148], eax
xor eax, eax
sub eax, dword [ebp - 0x60]
neg eax
mov ecx, dword [ebp - 0x5c]
sub dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x1c]
cmp dword [eax + 0x28], ecx
jge 0x4245e7
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x5c]
sub eax, dword [ecx + 0x28]
mov dword [ebp - 0x60], eax
xor eax, eax
sub eax, dword [ebp - 0x60]
neg eax
sub dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x8c]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jle 0x424657
cmp dword [ebp - 0x10c], 0
jl 0x424657
mov eax, dword [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0x28], 0
jge 0x424657
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3c]
add dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0x28], 0
jle 0x424657
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0x28], 0
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x60]
neg eax
mov dword [ebp - 0x60], eax
jmp 0x424762
mov eax, dword [ebp - 0x8c]
cmp dword [ebp - 0x50], eax
jge 0x424762
mov dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x10c]
cmp dword [ebp - 0x48], eax
jne 0x424762
mov eax, dword [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0xc], 1
jne 0x42470c
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0x1c]
cmp dword [eax + 0x28], ecx
jle 0x424707
xor eax, eax
sub eax, dword [ebp - 0x60]
neg eax
mov ecx, dword [ebp - 0x3c]
sub dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0x1c]
cmp dword [eax + 0x28], ecx
jge 0x424707
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + 0x28], eax
jmp 0x42473d
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0x28], 0
jle 0x42473d
xor eax, eax
sub eax, dword [ebp - 0x60]
neg eax
mov ecx, dword [ebp - 0x3c]
sub dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0x28], 0
jge 0x42473d
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0x28], 0
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x3c]
sub eax, dword [ecx + 0x28]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x3c]
add dword [ecx + 0x14], eax
xor eax, eax
sub eax, dword [ebp - 0x60]
neg eax
mov ecx, dword [ebp - 0x3c]
sub dword [ecx + 0x18], eax
cmp dword [ebp - 0xfc], 0
je 0x424825
cmp dword [ebp - 0x6c], 0
je 0x4247bd
cmp dword [ebp - 0x84], 0
je 0x4247b8
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x7c]
mov ecx, dword [ebp - 0x84]
add ecx, dword [ebp - 0x8c]
cmp eax, ecx
jle 0x4247b8
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x7c]
mov dword [ebp - 0x8c], eax
jmp 0x424825
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x2d], 0x10
je 0x4247f3
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x7c]
cmp eax, dword [ebp - 0x8c]
jle 0x4247ee
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x7c]
mov dword [ebp - 0x8c], eax
jmp 0x424825
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x7c]
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x60]
add ecx, dword [ebp - 0x8c]
cmp eax, ecx
jle 0x424825
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x5c]
sub eax, dword [ecx + 0x60]
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x7c]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x154]
sub eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x94]
push eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0xa4]
add eax, dword [ebp - 0x15c]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x94]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa4]
add eax, dword [ebp - 0x1c]
push eax
call fcn.00435a1e
add esp, 0x14
jmp 0x4249b6
cmp dword [ebp - 0xfc], 0
je 0x42493c
cmp dword [ebp - 0x6c], 0
je 0x4248d4
cmp dword [ebp - 0x84], 0
je 0x4248cf
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x7c]
mov ecx, dword [ebp - 0x84]
add ecx, dword [ebp - 0x8c]
cmp eax, ecx
jle 0x4248cf
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x7c]
mov dword [ebp - 0x8c], eax
jmp 0x42493c
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x2d], 0x10
je 0x42490a
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x7c]
cmp eax, dword [ebp - 0x8c]
jle 0x424905
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x7c]
mov dword [ebp - 0x8c], eax
jmp 0x42493c
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x7c]
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x60]
add ecx, dword [ebp - 0x8c]
cmp eax, ecx
jle 0x42493c
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x5c]
sub eax, dword [ecx + 0x60]
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x7c]
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0xbc], 0
je 0x42495d
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0x154]
mov dword [ebp - 0x14], eax
jmp 0x42496c
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x154]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x15c]
push eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0x94]
push eax
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax + 0xa4]
add eax, dword [ebp - 0x15c]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x94]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa4]
add eax, dword [ebp - 0x1c]
push eax
call fcn.004367db
add esp, 0x18
mov eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push 0
mov eax, dword [ebp - 0x80]
push eax
call fcn.00479491
add esp, 8
mov eax, dword [ebp - 0x80]
push eax
call fcn.0047947b
add esp, 4
cmp dword [ebp - 0x6c], 0
je 0x4249f1
cmp dword [ebp - 0x84], 0
je 0x424a43
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x74], 0
je 0x424a2f
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x28], 0
je 0x424a2a
mov dword [ebp - 0x14c], 1
jmp 0x424a43
mov dword [ebp - 0x10c], 0xffffffff
mov dword [ebp - 0x98], 0
jmp 0x424ac8
cmp dword [ebp - 0xfc], 0
jne 0x424a9f
xor eax, eax
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x64]
add ecx, dword [ebp - 0xac]
sub eax, ecx
neg eax
sub dword [ebp - 0x8c], eax
mov eax, dword [ebp + 0x14]
inc eax
cmp eax, dword [ebp - 0xf4]
jl 0x424a87
cmp dword [ebp - 0x4c], 0
je 0x424a9f
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x8c], eax
jge 0x424a9f
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x58], 0
je 0x424ac8
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x94]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa4]
add eax, dword [ebp - 0x1c]
push eax
call fcn.00436768
add esp, 8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x5c]
add eax, 0x30
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0xfc], 0
je 0x424bf2
cmp dword [ebp - 0xbc], 0
je 0x424b23
mov eax, dword [ebp - 0xf4]
cmp dword [ebp - 0x2c], eax
jne 0x424b23
mov eax, dword [ebp - 0x90]
push eax
mov eax, dword [ebp - 0xe8]
push eax
mov eax, dword [ebp - 0x38]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
jmp 0x424b42
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 4]
neg eax
push eax
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
push eax
mov eax, dword [ebp - 0x38]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
mov ecx, dword [ebp - 0x1c]
add eax, dword [ecx + 0x7c]
add eax, dword [ebp - 0x150]
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x78], 0
je 0x424bed
mov dword [ebp - 0xfc], 0
cmp dword [ebp - 0x6c], 0
je 0x424baa
cmp dword [ebp - 0x100], 0
je 0x424ba5
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x30]
sub eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x1c]
add eax, dword [ecx + 0x7c]
add eax, dword [ebp - 0x100]
mov dword [ebp - 0x4c], eax
jmp 0x424bed
cmp dword [ebp - 0x120], 0xffffffff
je 0x424bed
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x2d], 0x10
je 0x424bd8
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x7c]
mov ecx, dword [ebp - 0x5c]
add eax, dword [ecx + 0x38]
mov dword [ebp - 0x4c], eax
jmp 0x424bed
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x7c]
mov ecx, dword [ebp - 0x5c]
add eax, dword [ecx + 0x60]
mov ecx, dword [ebp - 0x5c]
add eax, dword [ecx + 0x30]
mov dword [ebp - 0x4c], eax
jmp 0x424ca5
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x80]
add eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx + 4]
push eax
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
push eax
mov eax, dword [ebp - 0x38]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x7c]
mov ecx, dword [ebp - 0x5c]
add eax, dword [ecx + 0x64]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0xfc], 1
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x7c]
add eax, eax
mov ecx, dword [ebp - 0x5c]
add eax, dword [ecx + 0x38]
add eax, dword [ebp - 0x150]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x30]
sub eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x158]
jge 0x424c7b
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x30]
sub eax, dword [ebp - 0xac]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x38]
add eax, dword [ebp - 0x150]
cmp eax, dword [ebp - 0xa4]
jle 0x424ca5
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x38]
add eax, dword [ebp - 0x150]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x2d], 0x10
je 0x424cd0
xor eax, eax
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0xf0]
mov edx, dword [ebp - 0x5c]
add ecx, dword [edx + 0x34]
sub eax, ecx
neg eax
mov ecx, dword [ebp - 0x5c]
sub dword [ecx + 0x100], eax
cmp dword [ebp - 0x70], 0
je 0x425232
cmp dword [ebp - 0x120], 0xffffffff
je 0x424d33
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x60]
mov ecx, dword [ebp - 0x5c]
add eax, dword [ecx + 0x30]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x60], 0
je 0x424d12
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x60]
cmp dword [eax + 0x60], ecx
jle 0x424d1b
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x60], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x60]
cmp dword [eax + 0x64], ecx
jge 0x424d33
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x64], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x34], 0x1a
jne 0x424da7
cmp dword [ebp - 0xa0], 0
je 0x424d65
mov dword [ebp - 0xec], 0x18
inc dword [ebp - 0x60]
jmp 0x424da2
mov eax, dword [ebp - 0xf4]
cmp dword [ebp - 0x130], eax
jle 0x424d86
mov dword [ebp - 0xec], 0x18
jmp 0x424da2
mov eax, dword [ebp - 0xf4]
cmp dword [ebp - 0x130], eax
jg 0x424da2
mov dword [ebp - 0xec], 0x20
jmp 0x424db3
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x18c], eax
jmp 0x42520e
cmp dword [ebp - 0x60], 0
jle 0x424f0a
mov eax, dword [ebp - 0x60]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x144]
push eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.00421db4
add esp, 8
mov eax, dword [ebp - 0x3c]
test byte [eax + 0xf4], 4
je 0x424e50
cmp dword [ebp - 0x60], 1
jle 0x424e50
push 3
push 0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
add eax, dword [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x30]
add eax, dword [ebp - 0x144]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0x60]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436918
add esp, 0x20
jmp 0x424f0a
mov eax, dword [ebp - 0x3c]
test byte [eax + 0xf4], 4
je 0x424ece
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004385d2
add esp, 8
cmp eax, 0xffffffff
je 0x424ece
push 3
push 0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
add eax, dword [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x38]
mov ecx, dword [ebp - 0x3c]
sub eax, dword [ecx + 0x30]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0x30]
add ecx, eax
add ecx, dword [ebp - 0x144]
push ecx
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0x60]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436918
add esp, 0x20
jmp 0x424f0a
push 3
push 0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
add eax, dword [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x38]
sub eax, dword [ebp - 0x13c]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0x60]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436918
add esp, 0x20
jmp 0x42522d
cmp dword [ebp - 0xa0], 0
jne 0x425204
cmp dword [ebp - 0xf4], 0
jne 0x42507f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x8c]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x144]
push eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.00421db4
add esp, 8
cmp dword [ebp - 0x40], 0
je 0x424fc3
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x8c]
dec eax
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x90]
cmp eax, dword [ebp - 0xf4]
jle 0x424fc3
push 3
push 0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
sub eax, dword [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x38]
sub eax, dword [ebp - 0x13c]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436918
add esp, 0x20
jmp 0x42507a
cmp dword [ebp - 0x40], 0
je 0x42503c
mov eax, dword [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004385d2
add esp, 8
cmp eax, 0xffffffff
je 0x42503c
push 3
push 0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx]
add ecx, eax
add ecx, dword [ebp - 0xd0]
push ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x38]
sub eax, dword [ebp - 0x13c]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436918
add esp, 0x20
jmp 0x42507a
push 3
push 0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
add eax, dword [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x38]
sub eax, dword [ebp - 0x13c]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436918
add esp, 0x20
jmp 0x425204
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x34], 0x1a
jne 0x4250b6
mov eax, dword [ebp - 0xf4]
cmp dword [ebp - 0x130], eax
jne 0x4250b6
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
jmp 0x4250cd
mov eax, dword [ebp - 0xf4]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x144]
push eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.00421db4
add esp, 8
cmp dword [ebp - 0x40], 0
je 0x42514d
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x8c]
dec eax
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x90]
cmp eax, dword [ebp - 0xf4]
jle 0x42514d
push 3
push 0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
sub eax, dword [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x38]
sub eax, dword [ebp - 0x13c]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436918
add esp, 0x20
jmp 0x425204
cmp dword [ebp - 0x40], 0
je 0x4251c6
mov eax, dword [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004385d2
add esp, 8
cmp eax, 0xffffffff
je 0x4251c6
push 3
push 0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx]
add ecx, eax
add ecx, dword [ebp - 0xd0]
push ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x38]
sub eax, dword [ebp - 0x13c]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436918
add esp, 0x20
jmp 0x425204
push 3
push 0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
add eax, dword [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x38]
sub eax, dword [ebp - 0x13c]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436918
add esp, 0x20
jmp 0x42522d
cmp dword [ebp - 0x18c], 0x18
je 0x424dc4
cmp dword [ebp - 0x18c], 0x20
je 0x424f0f
jmp 0x42522d
jmp 0x4253ea
mov dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x2c]
dec eax
cmp eax, dword [ebp - 0xf4]
jne 0x425266
cmp dword [ebp - 0x2c], 1
jle 0x425266
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x44], 0x2000
jmp 0x42526d
mov dword [ebp - 0x60], 0
cmp dword [ebp - 0x40], 0
je 0x4252ef
cmp dword [ebp - 0x120], 0xffffffff
jne 0x425291
cmp dword [ebp - 0xbc], 0
je 0x4252ef
push 2
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x60]
mov ecx, dword [ebp - 0x38]
add eax, dword [ecx]
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x60]
mov ecx, dword [ebp - 0x38]
add eax, dword [ecx]
push eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x5c]
add eax, dword [ecx + 0xf0]
sub eax, dword [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x84]
neg eax
push eax
mov eax, dword [ebp - 0xf0]
add eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436918
add esp, 0x20
jmp 0x425348
push 2
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x64]
mov ecx, dword [ebp - 0x38]
add eax, dword [ecx]
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x64]
mov ecx, dword [ebp - 0x38]
add eax, dword [ecx]
push eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x5c]
add eax, dword [ecx + 0xe8]
add eax, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x84]
neg eax
push eax
mov eax, dword [ebp - 0xf0]
add eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436918
add esp, 0x20
cmp dword [ebp - 0xbc], 0
je 0x4253ea
cmp dword [ebp - 0x2c], 1
jle 0x4253ea
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x2d], 0x20
jne 0x425380
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0x11c], eax
jmp 0x42538a
mov dword [ebp - 0x11c], 0
push 0x2001
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x64]
mov ecx, dword [ebp - 0x38]
add eax, dword [ecx]
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x64]
mov ecx, dword [ebp - 0x38]
add eax, dword [ecx]
push eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 4]
add eax, dword [ebp - 0x90]
push eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 4]
add eax, dword [ebp - 0xdc]
dec eax
sub eax, dword [ebp - 0x11c]
push eax
mov eax, dword [ebp - 0x2c]
add eax, eax
add eax, dword [ebp - 0xf0]
add eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436918
add esp, 0x20
mov eax, dword [ebp - 0xf4]
cmp dword [ebp - 0x24], eax
je 0x4253fc
dec dword [ebp + 0x18]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xe0], 0xb40
jle 0x42542f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x38]
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
mov dword [ebp - 0xb8], 0x67
jmp 0x425f68
jmp 0x422ab4
cmp dword [ebp - 0x78], 0
je 0x425455
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x38]
add eax, dword [ebp - 0x150]
mov dword [ebp - 0xe0], eax
jmp 0x425464
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x150]
add dword [ebp - 0xe0], eax
cmp dword [ebp - 0x9c], 0
jne 0x425bfa
cmp dword [ebp - 0x14c], 0
jne 0x425bfa
mov eax, dword [ebp - 0xe0]
cmp dword [ebp - 0xa4], eax
jle 0x42549c
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xe0], eax
push 0
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0x5c]
add eax, dword [ecx + 0x64]
add eax, 0xa
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x58], eax
mov eax, dword [ebp - 0x2c]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0x5c]
add eax, dword [ecx + 0x64]
sub eax, 0xa
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x5c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x5c]
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x58]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x2c], 1
jne 0x425517
mov dword [ebp - 0x60], 0
cmp dword [ebp - 0x70], 0
jne case.default.0x425711
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x190], eax
jmp 0x4256f8
cmp dword [ebp - 0x2c], 1
jne 0x425550
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0x5c]
add eax, dword [ecx + 0x64]
mov dword [ebp - 0x124], eax
jmp 0x425627
mov eax, dword [ebp - 0xe0]
sub eax, dword [ebp - 0x150]
sub eax, dword [ebp - 0x158]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 0x158]
add ecx, eax
mov dword [ebp - 0x124], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x3c], 1
jne 0x425627
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x34], 0
je 0x42559d
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x34], 2
jne 0x425627
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa4]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x158]
neg eax
mov ecx, dword [ebp - 0x118]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x94]
push eax
mov eax, dword [ebp - 0x118]
push eax
call fcn.004358c0
add esp, 8
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x118]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa4]
add eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436bf7
add esp, 8
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x24]
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ecx + 0x1c]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx + 0x1c]
add ecx, eax
mov dword [ebp - 0x124], ecx
cmp dword [ebp - 0x2c], 1
jle 0x42567f
cmp dword [ebp - 0x12c], 0
jne 0x42567f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x124]
cmp dword [eax + 0x58], ecx
jle 0x425661
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x124], eax
jmp 0x42567f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x124]
cmp dword [eax + 0x5c], ecx
jge 0x42567f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x124], eax
jmp case.default.0x425711
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x124], eax
jmp case.default.0x425711
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x124], eax
jmp case.default.0x425711
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x124]
cmp dword [eax + 0x58], ecx
jle 0x4256d0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x124]
cmp dword [eax + 0x5c], ecx
jge 0x4256ee
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x124], eax
jmp case.default.0x425711
inc dword [ebp - 0x190]
cmp dword [ebp - 0x190], 4
ja case.default.0x425711
mov eax, dword [ebp - 0x190]
jmp dword [eax*4 + 0x425718]
cmp dword [ebp - 0x70], 0
je 0x425762
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x8c]
dec eax
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x60]
mov ecx, dword [ebp - 0x3c]
add eax, dword [ecx + 0x30]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x50], eax
cmp dword [ebp - 0x2c], 1
jle 0x4259dd
cmp dword [ebp - 0x12c], 0
jne 0x4259dd
cmp dword [ebp - 0x70], 0
jne 0x4259dd
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa0]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0xf0]
shl eax, 2
lea eax, [eax + eax*4]
add dword [ebp - 8], eax
mov eax, dword [ebp - 0x2c]
add dword [ebp - 0xf0], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xf4], 0
jmp 0x4257ef
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
cmp dword [ebp - 0x2c], eax
jle 0x4259dd
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x134]
cmp dword [ebp - 0x124], eax
jg 0x425837
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x124], 0x7fff
jmp 0x42583b
add dword [ebp - 8], 0x14
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x88], 0
cmp dword [ebp - 0xf4], 0
jne 0x425887
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x44], eax
jmp 0x4258af
mov eax, dword [ebp - 0x2c]
dec eax
cmp eax, dword [ebp - 0xf4]
jne 0x4258af
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x60], 0
push 0
push 0
mov eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x134]
push eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x84]
neg eax
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x84]
neg eax
push eax
mov eax, dword [ebp - 0xf0]
add eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436918
add esp, 0x20
cmp dword [ebp - 0xbc], 0
je 0x4259cf
cmp dword [ebp - 0xf4], 0
jne 0x42594d
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x88], 0
jmp 0x425988
mov eax, dword [ebp - 0x2c]
dec eax
cmp eax, dword [ebp - 0xf4]
jne 0x425988
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x11c]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x11c], 0
push 0
push 0
mov eax, dword [ebp - 0x134]
add eax, dword [ebp - 0x11c]
push eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp - 0x2c]
add eax, eax
add eax, dword [ebp - 0xf0]
add eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436918
add esp, 0x20
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x10], eax
jmp 0x4257e9
mov eax, dword [ebp - 0x12c]
push eax
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x80]
add eax, dword [ebp - 0xd8]
push eax
mov eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x90]
push eax
mov eax, dword [ebp - 0xe0]
push eax
mov eax, dword [ebp - 0x158]
neg eax
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x94]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa4]
add eax, dword [ebp - 0x1c]
push eax
call fcn.004360fd
add esp, 0x20
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa4]
add eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436bf7
add esp, 8
cmp dword [ebp - 0x70], 0
je 0x425a60
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436d8e
add esp, 4
cmp dword [ebp - 0x12c], 0
jne 0x425bfa
cmp dword [ebp - 0x70], 0
je 0x425aa7
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x2c], 0xffffffff
jne 0x425a96
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x98], 0
jmp 0x425aa2
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x98], eax
jmp 0x425b9c
cmp dword [ebp - 0x2c], 1
jle 0x425b14
push 1
push 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x14]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x14]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x84]
neg eax
push eax
mov eax, dword [ebp - 0x64]
neg eax
push eax
push 0
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00436918
add esp, 0x20
mov eax, dword [ebp - 0x2c]
add eax, eax
inc eax
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x98], eax
cmp dword [ebp - 0xbc], 0
je 0x425b0f
mov eax, dword [ebp - 0x2c]
shl eax, 2
inc eax
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x98], eax
jmp 0x425b9c
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xa0], 0
je 0x425b7f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xa0]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x38], 0
jne 0x425b58
mov eax, dword [ebp - 8]
mov dword [eax], 0
mov eax, dword [ebp - 8]
mov dword [eax + 8], 0
jmp 0x425b62
mov eax, dword [ebp - 0x64]
neg eax
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
mov eax, dword [ebp - 8]
and dword [eax + 0x10], 0xffffdffc
push 1
push 3
mov eax, dword [ebp - 8]
add eax, 0x10
push eax
call fcn.004e43fc
add esp, 0xc
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9c], 0
je 0x425b9c
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x98], 1
mov eax, dword [ebp - 0x1c]
add eax, 0x1c
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx + 4]
cmp eax, 0x870
jg 0x425bd2
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x38]
sub eax, dword [ecx]
cmp eax, 0xb40
jle 0x425be7
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x38]
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
mov dword [ebp - 0xb8], 0x67
push 0
push 2
mov eax, dword [ebp - 0x1c]
add eax, 0x10
push eax
call fcn.004e43fc
add esp, 0xc
cmp dword [ebp - 0x9c], 0
je 0x425c16
mov dword [ebp - 0xb8], 0x6b
jmp 0x425f51
cmp dword [ebp - 0x14c], 0
je 0x425f51
mov dword [ebp - 0xb8], 0x6c
push 1
push 8
mov eax, dword [ebp - 0x1c]
add eax, 0x10
push eax
call fcn.004e43fc
add esp, 0xc
mov eax, dword [ebp - 0x10c]
cmp dword [ebp - 0x48], eax
jne 0x425d66
cmp dword [ebp - 0xc], 1
jne 0x425d66
cmp dword [ebp - 0xb0], 3
jne 0x425d66
mov eax, dword [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
cmp dword [eax + 0x28], 0
jle 0x425d61
mov eax, dword [ebp - 0xe0]
sub eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0x14]
mov edx, dword [ebp - 0x3c]
add ecx, dword [edx + 0x30]
sub eax, ecx
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
jle 0x425d61
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x60]
cmp dword [eax + 0x28], ecx
jge 0x425cf7
xor eax, eax
mov ecx, dword [ebp - 0x3c]
sub eax, dword [ecx + 0x28]
neg eax
sub dword [ebp - 0x60], eax
xor eax, eax
mov ecx, dword [ebp - 0x3c]
sub eax, dword [ecx + 0x28]
neg eax
mov ecx, dword [ebp - 0x3c]
sub dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x28]
mov ecx, dword [ebp - 0x3c]
add dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0x28], 0
jmp 0x425d0b
xor eax, eax
sub eax, dword [ebp - 0x60]
neg eax
mov ecx, dword [ebp - 0x3c]
sub dword [ecx + 0x28], eax
mov dword [ebp - 0x60], 0
cmp dword [ebp - 0x60], 0
jle 0x425d61
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0x3c]
sub eax, dword [ecx + 0x18]
cmp eax, dword [ebp - 0x158]
jge 0x425d61
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x30]
mov ecx, dword [ebp - 0x3c]
sub eax, dword [ecx + 0x18]
sub eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x60]
neg ecx
cmp dword [eax + 0x28], ecx
jge 0x425d61
mov eax, dword [ebp - 0x60]
neg eax
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + 0x28], eax
jmp 0x425f51
cmp dword [ebp - 0x98], 0
je 0x425f51
mov eax, dword [ebp - 0x1c]
test byte [eax + 0x10], 4
jne 0x425f51
cmp dword [ebp - 0xc], 0
je 0x425f51
mov dword [ebp - 0x60], 0x7fff
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0xf4], 0
jmp 0x425db4
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
cmp dword [ebp - 0x2c], eax
jle 0x425e56
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004385d2
add esp, 8
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0xffffffff
je 0x425e51
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x60]
cmp dword [eax + 0x28], ecx
jge 0x425e14
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x5c]
add eax, dword [ecx + 0x30]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xb4]
cmp dword [ebp - 0x44], eax
jge 0x425e3e
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x48], 0
jge 0x425e51
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x48], eax
jmp 0x425dae
cmp dword [ebp - 0x60], 0
jle 0x425f51
cmp dword [ebp - 0x48], 0
jl 0x425f51
mov eax, dword [ebp - 0xe0]
cmp dword [ebp - 0x44], eax
jle 0x425ec4
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0x30]
mov edx, dword [ebp - 0x3c]
sub ecx, dword [edx + 0x18]
sub eax, ecx
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jle 0x425ebf
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x44], eax
jge 0x425ebf
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x60], eax
jmp 0x425ee2
mov eax, dword [ebp - 0xe0]
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x44], eax
jge 0x425ee2
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xf4], 0
jmp 0x425ef7
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
cmp dword [ebp - 0x2c], eax
jle 0x425f51
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004379c0
add esp, 8
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004385d2
add esp, 8
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x425f4c
xor eax, eax
sub eax, dword [ebp - 0x60]
neg eax
mov ecx, dword [ebp - 0x5c]
sub dword [ecx + 0x28], eax
jmp 0x425ef1
cmp dword [ebp - 0x114], 0
je 0x425f68
mov dword [ebp - 0xb8], 0x6c
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0xb8]
jmp 0x425f7d
pop edi
pop esi
pop ebx
leave
ret