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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x150]
cmp eax, dword [ecx + 8]
jbe 0x6138ed
sub esp, 0x1d0
mov eax, 0
lea edi, [esp + 0x19c]
call fcn.0044dd63
mov eax, dword [esp + 0x1d4]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
movzx ecx, byte [ecx + 0x4c]
test cl, cl
je 0x612099
mov ecx, dword [eax + 0x64]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jle 0x612099
mov ecx, dword [eax + 8]
mov byte [ecx + 0x38], 1
mov dword [esp + 0xe4], edx
mov ecx, dword [eax + 4]
movzx ecx, byte [ecx + 0x68]
test cl, cl
je 0x61388b
mov ecx, dword [edx + 0x24]
movzx ecx, byte [ecx + 0x5d]
xor ecx, 1
mov edx, dword [eax + 8]
mov byte [edx + 0x48], cl
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
movzx edx, word [edx]
mov word [ecx + 0x28], dx
mov ecx, dword [eax]
movzx ecx, word [ecx + 0x20]
mov edx, dword [eax + 0xc]
mov dword [esp + 4], edx
mov word [esp], cx
call fcn.006193e0
lea esi, [esp + 8]
lea edi, [esp + 0x100]
call fcn.0044e1fe
mov eax, dword [0xcc2260]
mov ecx, dword [esp + 0x1d4]
lea edi, [ecx + 0x18]
mov dword [esp + 0xfc], edi
test eax, eax
jne 0x613869
lea esi, [esp + 0x100]
call fcn.0044e1fe
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx + 0x44]
test ecx, ecx
jne 0x61385d
mov ecx, dword [esp + 0xfc]
test byte [ecx], al
mov edx, dword [esp + 0x1d4]
mov dword [edx + 0x3c], 0
mov dword [edx + 0x40], 0
mov ebx, dword [0xcc2260]
lea ebp, [edx + 0x38]
test ebx, ebx
jne 0x613833
mov dword [edx + 0x38], 0
mov eax, dword [edx + 4]
mov dword [esp], eax
call fcn.0060af40
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.00619710
mov eax, dword [esp + 0x1d4]
mov ecx, dword [eax + 8]
mov dword [esp], ecx
call fcn.0060cfd0
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.00619710
mov eax, dword [esp + 0x1d4]
mov ecx, dword [eax + 8]
mov dword [esp], ecx
call fcn.0060cfd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.006043e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x61381e
lea eax, [0x7ef960]
mov dword [esp], eax
call fcn.0040eaf0
mov eax, dword [esp + 0x1d4]
mov ecx, dword [eax + 0x64]
mov edx, dword [esp + 4]
mov dword [esp + 0xe0], edx
mov ebx, dword [ecx]
mov ebp, dword [ecx + 8]
mov ecx, dword [ecx + 4]
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], ebp
mov ecx, dword [0xcc2260]
lea ebp, [edx + 0xc]
test ecx, ecx
jne 0x613806
mov dword [edx + 0xc], ebx
mov dword [esp], edx
call fcn.0060e4c0
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.00619710
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
call fcn.0060e4c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.006043e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x6137f1
mov eax, dword [esp + 0x1d4]
mov ecx, dword [eax + 8]
movzx ecx, byte [ecx + 0x38]
test cl, cl
jne 0x613710
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0xe4]
movzx ebx, word [ecx + 0x20]
mov word [esp], bx
mov ebx, dword [edx]
call ebx
mov eax, dword [esp + 4]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xb8], ecx
mov ebx, dword [eax + 0x14]
mov ebp, dword [esp + 0xe4]
mov esi, dword [ebp + 0x24]
mov edi, dword [esp + 0x1d4]
mov eax, dword [edi + 0x64]
mov ebp, dword [edi + 4]
mov edi, dword [edi + 8]
mov dword [esp + 0x10], edi
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp], ecx
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
test ecx, ecx
jne 0x6136cb
test eax, eax
je 0x6123a0
mov dword [esp + 0xac], eax
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
test ecx, ecx
je 0x6135b4
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.00619710
mov eax, dword [esp + 0xac]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
test ecx, ecx
je 0x6134a3
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov byte [esp + 4], 0x16
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.006043e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x61348e
mov ecx, dword [esp + 0xe4]
mov edx, dword [ecx + 0x24]
mov edx, dword [edx + 0x44]
cmp edx, 1
jge 0x613350
lea eax, [0x7d0160]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.00439eb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
jbe 0x6138ae
mov byte [edx], 0xe
mov ebx, dword [esp + 0xfc]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.00619710
mov dword [esp + 0x8c], 0
mov byte [esp + 0x8c], 0xe
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov byte [esp + 4], 0x16
lea ecx, [esp + 0x8c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], 4
call fcn.006043e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x61333b
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.00603db0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x613326
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.006044b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x613311
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx + 0x44]
cmp ecx, 1
jl 0x613308
lea ecx, [0x7f9f20]
cmp ecx, ebx
jne 0x6132fc
mov ebp, edx
mov dword [esp + 0xe0], edx
jne 0x613295
mov dword [esp], edx
call fcn.0060e4c0
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.00619710
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
test ecx, ecx
jne 0x61258c
mov ebx, dword [esp + 0xe4]
mov ebp, dword [ebx + 0x24]
mov ebp, dword [ebp + 0x44]
cmp ebp, 2
jne 0x612587
mov dword [esp], ebx
mov byte [esp + 4], 0x2a
call fcn.00603930
lea eax, [0x7e6bc0]
mov dword [esp], eax
call fcn.0040eaf0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x28
mov ecx, dword [0xcc2260]
test ecx, ecx
jne 0x612565
lea ecx, [0x85d4f5]
mov dword [eax], ecx
lea ecx, [0x9b1540]
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], eax
add esp, 0x1d0
ret
mov dword [esp + 0xf8], eax
mov dword [esp], eax
lea ecx, [0x85d4f5]
mov dword [esp + 4], ecx
call fcn.0040f360
mov eax, dword [esp + 0xf8]
jmp 0x61254a
cmp ebp, 4
je 0x612512
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1d4]
mov dword [esp], eax
call fcn.006147f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
test ecx, ecx
jne 0x613280
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa0], ebx
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.006044b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x61326b
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
lea ebp, [0x7fa1a0]
cmp ebp, ebx
jne 0x61325f
mov esi, edx
mov dword [esp + 0xb0], edx
jne 0x6131f1
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], ecx
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
mov esi, dword [edx]
test esi, esi
je 0x6130d9
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
call fcn.00619710
mov eax, dword [esp + 0xb4]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0xe4]
mov edx, dword [ecx + 0x24]
mov ebx, dword [esp + 0x1d4]
mov ebp, dword [ebx + 0x64]
movzx esi, word [ecx + 0x20]
mov word [esp + 0x10], si
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xb8]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
test ecx, ecx
jne 0x613094
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x1d4]
mov ecx, dword [eax + 4]
mov esi, dword [eax + 8]
mov edi, dword [esp + 0xe4]
movzx edi, word [edi + 0x20]
mov eax, dword [eax + 0xc]
mov edx, dword [ecx + 0x18]
mov dword [esp + 0x88], edx
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x84], edx
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0xf4], ecx
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], edx
mov word [esp], di
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x80]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x1c], eax
call fcn.00618bf0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1d4]
mov dword [ebx + 0x50], ecx
mov dword [ebx + 0x54], eax
mov eax, dword [0xcc2260]
lea ecx, [ebx + 0x4c]
test eax, eax
jne 0x61306e
mov dword [ebx + 0x4c], edx
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0xe4]
mov ebp, dword [ecx + 0x24]
mov esi, dword [eax + 0x18]
mov edi, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebx + 0x54]
mov ebx, dword [ebx + 0x50]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
call fcn.005ffe70
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x613029
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x50]
test ecx, ecx
jg 0x612838
mov eax, dword [esp + 0xfc]
test byte [eax], al
mov eax, dword [esp + 0x1d4]
mov dword [eax + 0x3c], 0
mov dword [eax + 0x40], 0
mov ecx, dword [0xcc2260]
lea edx, [eax + 0x38]
test ecx, ecx
jne 0x612826
mov dword [eax + 0x38], 0
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1dc], 0
add esp, 0x1d0
ret
mov dword [esp], edx
mov dword [esp + 4], 0
call fcn.0040f360
jmp 0x612809
mov dword [esp], eax
call fcn.006044b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 4]
test edx, edx
jne 0x613014
lea ebp, [0x7fa0a0]
cmp ebp, ebx
jne 0x613008
mov esi, eax
mov dword [esp + 0xd8], eax
jne 0x612f9a
movzx ebx, byte [eax + 0xc]
test bl, bl
jne 0x612e5c
mov ebx, dword [esp + 0xa0]
test ebx, ebx
je 0x612e47
mov ebp, dword [ebx + 8]
cmp ebp, 0x2fd00e80
jne 0x612e3d
mov esi, ebp
lea ebp, [0x8159c0]
cmp ebp, ebx
jne 0x612e05
mov esi, 3
xor edi, edi
test ebx, ebx
je 0x612de8
xchg esi, eax
mov byte [esp + 0x5f], al
xchg esi, eax
mov eax, dword [ebx + 8]
cmp eax, 0x2fd00e80
jne 0x612ca0
cmp ebp, ebx
jne 0x612dfb
mov ebp, dword [esp + 0xa4]
jne 0x612ca0
xchg esi, eax
cmp al, 3
xchg esi, eax
je 0x612a5a
lea eax, [0x7e6bc0]
mov dword [esp], eax
call fcn.0040eaf0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
mov ecx, dword [0xcc2260]
test ecx, ecx
jne 0x612a35
lea ecx, [0x8623e4]
mov dword [eax], ecx
lea ecx, [0x9b1540]
test ecx, ecx
je 0x612a12
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc8], ecx
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov byte [esp + 4], 0x2a
call fcn.00603930
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0xcc]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp], 0
lea edx, [0x862ba1]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x38
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043cee0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x9c], ecx
lea edx, [0x7e6bc0]
mov dword [esp], edx
call fcn.0040eaf0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x7c]
mov dword [eax + 4], ecx
mov ecx, dword [0xcc2260]
test ecx, ecx
jne 0x6129ef
mov ecx, dword [esp + 0x9c]
mov dword [eax], ecx
lea ecx, [0x9b1540]
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], eax
add esp, 0x1d0
ret
mov dword [esp + 0xf8], eax
mov dword [esp], eax
mov ecx, dword [esp + 0x9c]
mov dword [esp + 4], ecx
call fcn.0040f360
mov eax, dword [esp + 0xf8]
jmp 0x6129d4
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
call fcn.00610230
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.00619710
jmp 0x6127d7
mov dword [esp + 0xf8], eax
mov dword [esp], eax
lea ecx, [0x8623e4]
mov dword [esp + 4], ecx
call fcn.0040f360
mov eax, dword [esp + 0xf8]
jmp 0x612921
mov dword [esp + 0xc0], ebp
mov word [esp + 0x62], di
lea eax, [0x7efa20]
mov dword [esp], eax
call fcn.0040eaf0
mov eax, dword [esp + 4]
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0xd8]
mov edx, dword [ecx + 0x10]
mov ebx, dword [ecx + 0x18]
mov ebp, dword [ecx + 0x14]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
lea edx, [0x79efa0]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.005c95e0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x612927
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
test edx, edx
jne 0x612c85
xor ecx, ecx
test ecx, ecx
jg 0x612b2f
lea eax, [0x7e6bc0]
mov dword [esp], eax
call fcn.0040eaf0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
mov ecx, dword [0xcc2260]
test ecx, ecx
jne 0x612b0d
lea ecx, [0x8623ae]
mov dword [eax], ecx
lea ecx, [0x9b1540]
jmp 0x612927
mov dword [esp + 0xf8], eax
mov dword [esp], eax
lea ecx, [0x8623ae]
mov dword [esp + 4], ecx
call fcn.0040f360
mov eax, dword [esp + 0xf8]
jmp 0x612b02
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
test edx, edx
jne 0x612c6a
xor ecx, ecx
test ecx, ecx
jle 0x612ad7
lea edi, [esp + 0x168]
mov esi, dword [esp + 0xfc]
call fcn.0044e1fe
mov eax, dword [esp + 0x1d4]
mov ecx, dword [eax + 0x54]
mov edx, dword [eax + 0x50]
mov ebx, dword [eax + 0x4c]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ecx
mov edi, esp
lea esi, [esp + 0x168]
call fcn.0044e1fe
movzx ecx, byte [esp + 0x5f]
mov byte [esp + 0x34], cl
movzx ecx, word [esp + 0x62]
mov word [esp + 0x36], cx
call fcn.0061a2a0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x54]
test ebp, ebp
je 0x612bb9
mov eax, ebx
mov ecx, ebp
jmp 0x612927
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xc8], ebp
mov ebx, dword [esp + 0xd4]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
call fcn.005de420
movzx eax, byte [esp + 0x18]
test al, al
je 0x612c12
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc8]
jmp 0x612927
lea eax, [0x7e6bc0]
mov dword [esp], eax
call fcn.0040eaf0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1f
mov ecx, dword [0xcc2260]
test ecx, ecx
jne 0x612c48
lea ecx, [0x858e25]
mov dword [eax], ecx
lea ecx, [0x9b1540]
jmp 0x612927
mov dword [esp + 0xf8], eax
mov dword [esp], eax
lea ecx, [0x858e25]
mov dword [esp + 4], ecx
call fcn.0040f360
mov eax, dword [esp + 0xf8]
jmp 0x612c3d
movzx ecx, byte [ecx]
test cl, cl
je 0x612c7b
mov ecx, 0xffffffff
jmp 0x612b3f
mov ecx, 1
jmp 0x612b3f
movzx ecx, byte [ecx]
test cl, cl
je 0x612c96
mov ecx, 0xffffffff
jmp 0x612ad3
mov ecx, 1
jmp 0x612ad3
cmp eax, 0xcc456746
jne 0x612de8
lea eax, [0x79ebe0]
cmp eax, ebx
jne 0x612df1
mov eax, dword [esp + 0xa4]
jne 0x612de8
xchg esi, eax
cmp al, 1
xchg esi, eax
je 0x612d25
lea eax, [0x7e6bc0]
mov dword [esp], eax
call fcn.0040eaf0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x34
mov ecx, dword [0xcc2260]
test ecx, ecx
jne 0x612d03
lea ecx, [0x861b27]
mov dword [eax], ecx
lea ecx, [0x9b1540]
jmp 0x612927
mov dword [esp + 0xf8], eax
mov dword [esp], eax
lea ecx, [0x861b27]
mov dword [esp + 4], ecx
call fcn.0040f360
mov eax, dword [esp + 0xf8]
jmp 0x612cf8
mov dword [esp + 0xbc], eax
mov eax, edi
lea edi, [esp + 0x134]
mov esi, dword [esp + 0xfc]
call fcn.0044e1fe
mov ecx, dword [esp + 0x1d4]
mov edx, dword [ecx + 0x54]
mov ebx, dword [ecx + 0x50]
mov ebp, dword [ecx + 0x4c]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], edx
mov edi, esp
lea esi, [esp + 0x134]
call fcn.0044e1fe
movzx ecx, byte [esp + 0x5f]
mov byte [esp + 0x34], cl
mov word [esp + 0x36], ax
call fcn.0061a2a0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x44]
mov esi, edx
mov edx, dword [esp + 0x50]
test ecx, ecx
jne 0x612927
mov eax, dword [esp + 0xd8]
mov ecx, dword [eax + 0x18]
mov edi, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.005c0610
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
jmp 0x612927
mov eax, ecx
mov ecx, edx
jmp 0x612927
mov eax, 0
jmp 0x612cc0
mov ebp, 0
jmp 0x6128e1
cmp esi, 0xcc456746
jne 0x612e2e
mov esi, eax
lea eax, [0x79ebe0]
cmp eax, ebx
jne 0x612e25
mov eax, esi
mov esi, 1
jmp 0x6128b4
mov eax, esi
xor esi, esi
jmp 0x6128b4
lea eax, [0x79ebe0]
mov esi, dword [esp + 0xd8]
jmp 0x612e25
mov esi, ebp
lea ebp, [0x8159c0]
jmp 0x612e05
lea eax, [0x79ebe0]
lea ebp, [0x8159c0]
mov esi, dword [esp + 0xd8]
jmp 0x612e25
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xec], edx
movzx ecx, word [eax + 0xe]
mov word [esp + 0x60], cx
mov word [esp], cx
mov edx, dword [0xc76be8]
mov ebx, dword [0xc76be4]
mov ebp, dword [0xc76be0]
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
call fcn.006003d0
movzx eax, byte [esp + 0x10]
test al, al
je 0x612f32
movzx eax, word [esp + 0x60]
cmp ax, 0x403
ja 0x612f10
cmp ax, 0x203
ja 0x612f02
cmp ax, 0x201
jne 0x612ef1
mov ecx, 1
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xa0]
lea ebp, [0x8159c0]
mov esi, ecx
movzx edi, word [esp + 0x60]
mov ecx, dword [esp + 0xf0]
jmp 0x6128b6
cmp ax, 0x203
jne 0x612efe
mov ecx, 3
jmp 0x612ec3
xor ecx, ecx
jmp 0x612ec3
cmp ax, 0x401
je 0x612ebe
cmp ax, 0x403
je 0x612ef7
jmp 0x612efe
cmp ax, 0x503
ja 0x612f24
cmp ax, 0x501
je 0x612ebe
cmp ax, 0x503
je 0x612ef7
jmp 0x612efe
cmp ax, 0x601
je 0x612ebe
cmp ax, 0x603
je 0x612ef7
jmp 0x612efe
lea eax, [0x7e6bc0]
mov dword [esp], eax
call fcn.0040eaf0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x35
mov ecx, dword [0xcc2260]
test ecx, ecx
jne 0x612f78
lea ecx, [0x861f44]
mov dword [eax], ecx
lea ecx, [0x9b1540]
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], eax
add esp, 0x1d0
ret
mov dword [esp + 0xf8], eax
mov dword [esp], eax
lea ecx, [0x861f44]
mov dword [esp + 4], ecx
call fcn.0040f360
mov eax, dword [esp + 0xf8]
jmp 0x612f5d
mov dword [esp + 0xf0], esi
mov dword [esp + 0xa8], ebx
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.00603930
lea eax, [0x7fa0a0]
mov dword [esp], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xc], eax
call fcn.00600320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1dc], ecx
add esp, 0x1d0
ret
mov esi, eax
mov eax, 0
jmp 0x612868
mov dword [esp + 0x1d8], edx
mov dword [esp + 0x1dc], ecx
add esp, 0x1d0
ret
mov dword [esp + 0xd0], eax
mov dword [esp + 0xc4], ecx
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.00603930
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x1dc], eax
add esp, 0x1d0
ret
mov dword [esp + 0xe8], edx
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.0040f360
mov edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x1d4]
jmp 0x61277d
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc8], ecx
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov byte [esp + 4], 0x28
call fcn.00603930
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x1dc], eax
add esp, 0x1d0
ret
mov eax, dword [edx + 0x10]
mov dword [esp + 0x88], eax
lea ecx, [0x7d0160]
mov dword [esp], ecx
lea ecx, [eax + 4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00439eb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
jbe 0x6138a7
mov byte [edx], 0x10
cmp ecx, 1
jbe 0x6138a0
mov ebx, dword [esp + 0x88]
mov ebp, ebx
sar ebx, 0x10
mov byte [edx + 1], bl
cmp ecx, 2
jbe 0x613899
mov ebx, ebp
sar ebp, 8
xchg ebp, eax
mov byte [edx + 2], al
xchg ebp, eax
cmp ecx, 3
jbe 0x613892
mov dword [esp + 0x78], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x94], edx
mov byte [edx + 3], bl
lea ebx, [eax - 4]
neg ebx
sar ebx, 0x1f
and ebx, 4
add ebx, edx
lea ebp, [ecx - 4]
mov esi, dword [esp + 0xb0]
mov edi, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
cmp ebp, edi
jle 0x6131ed
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], edi
call fcn.0044e470
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xb0]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x78]
mov dword [ecx + 8], edx
mov ebx, dword [0xcc2260]
test ebx, ebx
jne 0x6131c2
mov ebx, dword [esp + 0x94]
mov dword [ecx], ebx
mov ebx, edx
mov ebp, eax
mov esi, dword [esp + 0x94]
jmp 0x61263d
mov dword [esp], ecx
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
call fcn.0040f360
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x94]
jmp 0x6131b2
mov edi, ebp
jmp 0x61317a
mov dword [esp + 0xf0], esi
mov dword [esp + 0xa8], ebx
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.00603930
lea eax, [0x7fa1a0]
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xc], eax
call fcn.00600320
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], eax
add esp, 0x1d0
ret
mov esi, edx
mov edx, 0
jmp 0x612612
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], eax
add esp, 0x1d0
ret
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], eax
add esp, 0x1d0
ret
mov dword [esp + 0xf0], ebp
mov dword [esp + 0xa8], ebx
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.00603930
lea eax, [0x7f9f20]
mov dword [esp], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xc], eax
call fcn.00600320
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], eax
add esp, 0x1d0
ret
mov ebp, edx
mov edx, 0
jmp 0x6124c4
xor eax, eax
xor ecx, ecx
jmp 0x612602
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], eax
add esp, 0x1d0
ret
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], eax
add esp, 0x1d0
ret
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], eax
add esp, 0x1d0
ret
lea edi, [esp + 0x19c]
xor eax, eax
call fcn.0044dd63
lea ecx, [0x7bf080]
mov dword [esp], ecx
call fcn.0040eaf0
movzx ecx, word [0x9af3fc]
mov edx, dword [esp + 4]
mov word [edx], cx
mov dword [esp + 0x1b0], 2
mov dword [esp + 0x1b4], 2
mov dword [esp + 0x1ac], edx
mov ecx, dword [esp + 0xe4]
movzx edx, word [ecx + 0x20]
cmp dx, 0x303
jb 0x6133d8
mov byte [esp + 0x1a8], 1
mov eax, dword [0xc76be8]
mov edx, dword [0xc76be0]
mov ebx, dword [0xc76be4]
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1b8], edx
mov eax, dword [ecx + 0x24]
mov eax, dword [eax + 0x48]
test eax, eax
jne 0x613460
lea eax, [esp + 0x19c]
mov dword [esp], eax
call fcn.0060f890
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.00619710
lea eax, [esp + 0x19c]
mov dword [esp], eax
call fcn.0060f890
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.006043e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
je 0x6123b6
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1dc], ecx
add esp, 0x1d0
ret
mov dword [esp], eax
call fcn.005e4a00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1c4], edx
jmp 0x6133e2
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], eax
add esp, 0x1d0
ret
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x88], ecx
lea edx, [0x7d0160]
mov dword [esp], edx
lea ebx, [ecx + 4]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00439eb0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jbe 0x6138ca
mov byte [eax], 0xc
cmp edx, 1
jbe 0x6138c3
mov ebx, dword [esp + 0x88]
mov ebp, ebx
sar ebx, 0x10
mov byte [eax + 1], bl
cmp edx, 2
jbe 0x6138bc
mov ebx, ebp
sar ebp, 8
xchg ebp, ebx
mov byte [eax + 2], bl
xchg ebp, ebx
cmp edx, 3
jbe 0x6138b5
mov dword [esp + 0x98], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x6c], edx
mov byte [eax + 3], bl
lea ebx, [ecx - 4]
neg ebx
sar ebx, 0x1f
and ebx, 4
add ebx, eax
lea ebp, [edx - 4]
mov esi, dword [esp + 0xac]
mov edi, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
cmp ebp, edi
jle 0x6135b0
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0044e470
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0xac]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x70]
mov dword [ecx + 8], edx
mov ebx, dword [0xcc2260]
test ebx, ebx
jne 0x61358c
mov ebx, dword [esp + 0x98]
mov dword [ecx], ebx
mov ebx, eax
mov ecx, dword [esp + 0x98]
jmp 0x612370
mov dword [esp], ecx
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
call fcn.0040f360
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x98]
jmp 0x61357e
mov edi, ebp
jmp 0x613546
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x88], ecx
lea edx, [0x7d0160]
mov dword [esp], edx
lea ebx, [ecx + 4]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00439eb0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
jbe 0x6138e6
mov byte [eax], 0xc
cmp ecx, 1
jbe 0x6138df
mov ebx, dword [esp + 0x88]
mov ebp, ebx
sar ebx, 0x10
mov byte [eax + 1], bl
cmp ecx, 2
jbe 0x6138d8
mov ebx, ebp
sar ebp, 8
xchg ebp, ebx
mov byte [eax + 2], bl
xchg ebp, ebx
cmp ecx, 3
jbe 0x6138d1
mov dword [esp + 0x90], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x74], edx
mov byte [eax + 3], bl
lea ebx, [edx - 4]
neg ebx
sar ebx, 0x1f
and ebx, 4
add ebx, eax
lea ebp, [ecx - 4]
mov esi, dword [esp + 0xac]
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
cmp ebp, eax
jle 0x6136c7
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.0044e470
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xac]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x74]
mov dword [ecx + 8], edx
mov ebx, dword [0xcc2260]
test ebx, ebx
jne 0x61369c
mov ebx, dword [esp + 0x90]
mov dword [ecx], ebx
mov edx, eax
mov ecx, ebx
mov ebx, dword [esp + 0x74]
jmp 0x61233e
mov dword [esp], ecx
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
call fcn.0040f360
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x90]
jmp 0x61368f
mov eax, ebp
jmp 0x613657
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ebx
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov byte [esp + 4], 0x28
call fcn.00603930
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x1dc], eax
add esp, 0x1d0
ret
lea eax, [0x7fe6a0]
mov dword [esp], eax
call fcn.0040eaf0
mov eax, dword [esp + 4]
mov dword [esp + 0xdc], eax
mov byte [eax + 0xc], 1
mov ecx, dword [esp + 0x1d4]
mov edx, dword [ecx + 0x64]
mov ebx, dword [edx + 0x1c]
mov ebp, dword [edx + 0x18]
mov edx, dword [edx + 0x14]
mov dword [eax + 0x14], ebp
mov dword [eax + 0x18], ebx
mov ebx, dword [0xcc2260]
lea ebp, [eax + 0x10]
test ebx, ebx
jne 0x6137d9
mov dword [eax + 0x10], edx
mov dword [esp], eax
call fcn.0060ec60
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.00619710
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.0060ec60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.006043e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x6137c4
mov eax, dword [esp + 0x1d4]
jmp 0x6122ae
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], eax
add esp, 0x1d0
ret
mov dword [esp], ebp
mov dword [esp + 4], edx
call fcn.0040f360
mov eax, dword [esp + 0xdc]
jmp 0x61375a
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1dc], ecx
add esp, 0x1d0
ret
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.0040f360
mov edx, dword [esp + 0xe0]
jmp 0x612236
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], eax
add esp, 0x1d0
ret
mov dword [esp], ebp
mov dword [esp + 4], 0
call fcn.0040f360
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x1d4]
jmp 0x612168
mov edx, dword [esp + 0x1d4]
jmp 0x612168
lea eax, [0x8288e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x100]
mov dword [esp + 8], eax
call fcn.0040f470
jmp 0x61211d
xor ecx, ecx
jmp 0x6120b9
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.00426a70
ud2
call fcn.0044c200
jmp fcn.00612040