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

Disassembly:
sub esp, 0x598
mov eax, dword [0x1314370]
xor eax, esp
mov dword [esp + 0x594], eax
push ebx
push ebp
mov ebp, dword [esp + 0x5a4]
push esi
mov esi, dword [esp + 0x5ac]
xor edx, edx
mov dword [ebp + 8], 0x80000000
mov dword [ebp], edx
movzx ecx, word [esi]
push edi
mov edi, dword [esp + 0x5b4]
mov eax, ecx
mov dword [esp + 0x58], edi
mov ebx, 0x130c268
cmp eax, 0x2008
jg 0x112283c
je 0x1123275
sub eax, 2
cmp eax, 0x15
ja case.0x11228b4.16394
jmp dword [eax*4 + 0x1123d5c]
mov eax, dword [esi + 8]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0xcc]
push ecx
call fcn.00d36260
add esp, 0xc
push eax
lea ecx, [esp + 0x240]
call fcn.00d623b0
lea edx, [esp + 0x23c]
push edx
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x23c]
call fcn.00d603b0
lea ecx, [esp + 0xc4]
call fcn.00d21000
jmp 0x1123b19
cmp word [esi + 8], dx
setne al
movzx ecx, al
push ecx
lea ecx, [esp + 0x548]
call fcn.00d611f0
push eax
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x544]
call fcn.00d603b0
jmp 0x1123b19
movsx edx, byte [esi + 8]
push edx
lea ecx, [esp + 0x170]
call fcn.00d61170
lea eax, [esp + 0x16c]
push eax
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x16c]
call fcn.00d603b0
push 0x11bb13c
push edi
call fcn.00d27949
add esp, 8
test al, al
je 0x1123b19
mov dword [esp + 0x5b8], 2
jmp 0x1123b19
movsx ecx, word [esi + 8]
push ecx
lea ecx, [esp + 0x1b0]
call fcn.00d61170
lea edx, [esp + 0x1ac]
push edx
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x1ac]
call fcn.00d603b0
push 0x11bb144
jmp 0x112232b
mov eax, dword [esp + 0x5b8]
cmp eax, 0x43
je 0x112244f
cmp eax, edx
jne 0x11223fd
push 0x11bb220
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x112244f
push 0x11bb1e0
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x1122402
push 0x12bfa3c
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x1122402
mov eax, dword [esi + 8]
push eax
lea ecx, [esp + 0x490]
call fcn.00d61170
lea ecx, [esp + 0x48c]
push ecx
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x48c]
call fcn.00d603b0
jmp 0x1123b19
cmp eax, 0x4a
jne 0x11223cd
mov edx, dword [esi + 8]
push edx
lea ecx, [esp + 0xac]
call fcn.00e29440
push 0
push eax
push 0x4a
lea ecx, [esp + 0x1d8]
call fcn.00d61110
lea eax, [esp + 0x1cc]
push eax
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x1cc]
call fcn.00d603b0
lea ecx, [esp + 0xa8]
call fcn.00e28e30
jmp 0x1123b19
mov ecx, dword [esi + 8]
push ecx
lea edx, [esp + 0x568]
push edx
call fcn.01120e10
add esp, 8
push 0
push eax
push 0x43
lea ecx, [esp + 0x358]
call fcn.00d61110
lea eax, [esp + 0x34c]
push eax
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x34c]
call fcn.00d603b0
jmp 0x1123b19
mov ecx, dword [esi + 8]
push ecx
lea ecx, [esp + 0x1f0]
call fcn.00d61170
lea edx, [esp + 0x1ec]
push edx
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x1ec]
call fcn.00d603b0
jmp 0x1123b19
movzx eax, byte [esi + 8]
push eax
lea ecx, [esp + 0x410]
call fcn.00d61170
lea ecx, [esp + 0x40c]
push ecx
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x40c]
call fcn.00d603b0
jmp 0x1123b19
movzx edx, word [esi + 8]
push edx
lea ecx, [esp + 0x210]
call fcn.00d61170
lea eax, [esp + 0x20c]
push eax
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x20c]
call fcn.00d603b0
jmp 0x1123b19
mov eax, dword [esp + 0x5b8]
cmp eax, 0x43
je 0x11225f0
cmp eax, edx
jne 0x11225a4
push 0x11bb220
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x11225f0
push 0x11bb1e0
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x11225a9
push 0x12bfa3c
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x11225a9
mov ecx, dword [esi + 8]
push ecx
lea ecx, [esp + 0x370]
call fcn.00d61170
lea edx, [esp + 0x36c]
push edx
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x36c]
call fcn.00d603b0
jmp 0x1123b19
cmp eax, 0x4a
jne 0x1122574
mov eax, dword [esi + 8]
push eax
lea ecx, [esp + 0x6c]
call fcn.00e29440
push 0
push eax
push 0x4a
lea ecx, [esp + 0x238]
call fcn.00d61110
lea ecx, [esp + 0x22c]
push ecx
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x22c]
call fcn.00d603b0
lea ecx, [esp + 0x68]
call fcn.00e28e30
jmp 0x1123b19
mov edx, dword [esi + 8]
push edx
lea eax, [esp + 0x588]
push eax
call fcn.01120e10
add esp, 8
push 0
push eax
push 0x43
lea ecx, [esp + 0x478]
call fcn.00d61110
lea ecx, [esp + 0x46c]
push ecx
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x46c]
call fcn.00d603b0
jmp 0x1123b19
mov edx, dword [esi + 8]
push edx
lea ecx, [esp + 0x250]
call fcn.00d61190
lea eax, [esp + 0x24c]
push eax
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x24c]
call fcn.00d603b0
jmp 0x1123b19
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
push ecx
push edx
lea ecx, [esp + 0x394]
call fcn.00d611b0
lea eax, [esp + 0x38c]
push eax
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x38c]
call fcn.00d603b0
jmp 0x1123b19
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
push ecx
push edx
lea ecx, [esp + 0x274]
call fcn.00d611b0
lea eax, [esp + 0x26c]
push eax
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x26c]
call fcn.00d603b0
jmp 0x1123b19
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
push ecx
push edx
lea ecx, [esp + 0x434]
call fcn.00d611d0
lea eax, [esp + 0x42c]
push eax
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x42c]
call fcn.00d603b0
jmp 0x1123b19
fld dword [esi + 8]
lea ecx, [esp + 0x134]
fstp dword [esp + 0x68]
push ecx
fld dword [esp + 0x6c]
mov ecx, ebp
fstp dword [esp + 0x138]
mov dword [esp + 0x140], 0x87
call fcn.00d61230
lea ecx, [esp + 0x134]
call fcn.00d603b0
jmp 0x1123b19
fld qword [esi + 8]
sub esp, 8
lea ecx, [esp + 0x294]
fstp qword [esp]
call fcn.00d61210
lea edx, [esp + 0x28c]
push edx
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x28c]
call fcn.00d603b0
jmp 0x1123b19
fld qword [esi + 8]
sub esp, 8
lea esi, [esp + 0xc8]
fstp qword [esp]
call fcn.01120c30
add esp, 8
push eax
lea ecx, [esp + 0x3b0]
call fcn.00d62440
lea eax, [esp + 0x3ac]
push eax
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x3ac]
call fcn.00d603b0
mov ecx, esi
call fcn.00d754e0
mov eax, dword [esp + 0x5b8]
cmp eax, 0xe
je 0x112282e
test eax, eax
jne 0x1122824
push 0x11bb2d8
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x112282e
push 0x12bfa34
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x112282e
push 0x11bb2d0
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x1122816
push 0x12bfa2c
push edi
call fcn.00d27949
add esp, 8
test al, al
je 0x1123b19
push 0xf
mov ecx, ebp
call fcn.00d62960
jmp 0x1123b19
cmp eax, 0xf
je 0x1122816
jmp 0x1123b19
push 0xe
mov ecx, ebp
call fcn.00d62960
jmp 0x1123b19
cmp eax, 0x4002
jg 0x1122895
je 0x112284f
sub eax, 0x200c
jmp 0x11233fc
mov ecx, dword [esi + 8]
movsx edx, word [ecx]
push edx
lea ecx, [esp + 0x2b0]
call fcn.00d61170
lea eax, [esp + 0x2ac]
push eax
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x2ac]
call fcn.00d603b0
push 0x11bb144
push edi
call fcn.00d4e730
add esp, 8
neg eax
sbb eax, eax
inc eax
jmp 0x1122334
cmp eax, 0x6008
jg 0x11233f7
je 0x1123275
sub eax, 0x4003
cmp eax, 0x14
ja case.0x11228b4.16394
jmp dword [eax*4 + 0x1123db4]
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
push 0xffffffffffffffff
push edx
lea eax, [esp + 0xa8]
push eax
call fcn.00d36260
add esp, 0xc
push eax
lea ecx, [esp + 0x4b0]
call fcn.00d623b0
lea ecx, [esp + 0x4ac]
push ecx
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x4ac]
call fcn.00d603b0
lea ecx, [esp + 0xa0]
call fcn.00d21000
jmp 0x1123b19
mov eax, dword [esi + 8]
cmp word [eax], dx
setne cl
movzx edx, cl
push edx
lea ecx, [esp + 0x508]
call fcn.00d611f0
push eax
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x504]
call fcn.00d603b0
jmp 0x1123b19
mov eax, dword [esi + 8]
movsx ecx, byte [eax]
push ecx
lea ecx, [esp + 0x2d0]
call fcn.00d61170
lea edx, [esp + 0x2cc]
push edx
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x2cc]
jmp 0x1122321
mov eax, dword [esp + 0x5b8]
cmp eax, 0x43
je 0x1122a40
cmp eax, edx
jne 0x11229ec
push 0x11bb220
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x1122a40
push 0x11bb1e0
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x11229f1
push 0x12bfa3c
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x11229f1
mov eax, dword [esi + 8]
mov ecx, dword [eax]
push ecx
lea ecx, [esp + 0x3d0]
call fcn.00d61170
lea edx, [esp + 0x3cc]
push edx
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x3cc]
call fcn.00d603b0
jmp 0x1123b19
cmp eax, 0x4a
jne 0x11229ba
mov eax, dword [esi + 8]
mov ecx, dword [eax]
push ecx
lea ecx, [esp + 0xcc]
call fcn.00e29440
push 0
push eax
push 0x4a
lea ecx, [esp + 0x2f8]
call fcn.00d61110
lea edx, [esp + 0x2ec]
push edx
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x2ec]
call fcn.00d603b0
lea ecx, [esp + 0xc8]
call fcn.00e28e30
jmp 0x1123b19
mov eax, dword [esi + 8]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x578]
push edx
call fcn.01120e10
add esp, 8
push 0
push eax
push 0x43
lea ecx, [esp + 0x458]
call fcn.00d61110
lea eax, [esp + 0x44c]
push eax
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x44c]
call fcn.00d603b0
jmp 0x1123b19
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
push edx
lea ecx, [esp + 0x310]
call fcn.00d61170
lea eax, [esp + 0x30c]
push eax
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x30c]
call fcn.00d603b0
jmp 0x1123b19
mov ecx, dword [esi + 8]
movzx edx, byte [ecx]
push edx
lea ecx, [esp + 0x3f0]
call fcn.00d61170
lea eax, [esp + 0x3ec]
push eax
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x3ec]
call fcn.00d603b0
jmp 0x1123b19
mov ecx, dword [esi + 8]
movzx edx, word [ecx]
push edx
lea ecx, [esp + 0x190]
call fcn.00d61170
lea eax, [esp + 0x18c]
push eax
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x18c]
call fcn.00d603b0
jmp 0x1123b19
mov eax, dword [esp + 0x5b8]
cmp eax, 0x43
je 0x1122bed
cmp eax, edx
jne 0x1122b9f
push 0x11bb220
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x1122bed
push 0x11bb1e0
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x1122ba4
push 0x12bfa3c
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x1122ba4
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
push edx
lea ecx, [esp + 0x1a0]
call fcn.00d61170
lea eax, [esp + 0x19c]
push eax
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x19c]
call fcn.00d603b0
jmp 0x1123b19
cmp eax, 0x4a
jne 0x1122b6d
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
push edx
lea ecx, [esp + 0x58]
call fcn.00e29440
push 0
push eax
push 0x4a
lea ecx, [esp + 0x1c8]
call fcn.00d61110
lea eax, [esp + 0x1bc]
push eax
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x1bc]
call fcn.00d603b0
lea ecx, [esp + 0x54]
call fcn.00e28e30
jmp 0x1123b19
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x598]
push eax
call fcn.01120e10
add esp, 8
push 0
push eax
push 0x43
lea ecx, [esp + 0x1e8]
call fcn.00d61110
lea ecx, [esp + 0x1dc]
push ecx
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x1dc]
call fcn.00d603b0
jmp 0x1123b19
mov edx, dword [esi + 8]
mov eax, dword [edx]
push eax
lea ecx, [esp + 0x200]
call fcn.00d61190
lea ecx, [esp + 0x1fc]
push ecx
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x1fc]
call fcn.00d603b0
jmp 0x1123b19
mov esi, dword [esi + 8]
mov edx, dword [esi + 4]
mov eax, dword [esi]
push edx
push eax
lea ecx, [esp + 0x224]
call fcn.00d611b0
lea ecx, [esp + 0x21c]
push ecx
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x21c]
call fcn.00d603b0
jmp 0x1123b19
mov esi, dword [esi + 8]
mov edx, dword [esi + 4]
mov eax, dword [esi]
push edx
push eax
lea ecx, [esp + 0x184]
call fcn.00d611b0
lea ecx, [esp + 0x17c]
push ecx
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x17c]
call fcn.00d603b0
jmp 0x1123b19
mov esi, dword [esi + 8]
mov edx, dword [esi + 4]
mov eax, dword [esi]
push edx
push eax
lea ecx, [esp + 0x264]
call fcn.00d611d0
lea ecx, [esp + 0x25c]
push ecx
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x25c]
call fcn.00d603b0
jmp 0x1123b19
mov edx, dword [esi + 8]
fld dword [edx]
lea eax, [esp + 0x114]
fstp dword [esp + 0x54]
push eax
fld dword [esp + 0x58]
mov ecx, ebp
fstp dword [esp + 0x118]
mov dword [esp + 0x120], 0x87
call fcn.00d61230
lea ecx, [esp + 0x114]
call fcn.00d603b0
jmp 0x1123b19
mov ecx, dword [esi + 8]
fld qword [ecx]
sub esp, 8
lea ecx, [esp + 0x284]
fstp qword [esp]
call fcn.00d61210
lea edx, [esp + 0x27c]
push edx
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x27c]
call fcn.00d603b0
jmp 0x1123b19
mov eax, dword [esi + 8]
fld qword [eax]
sub esp, 8
lea esi, [esp + 0xd8]
fstp qword [esp]
call fcn.01120c30
add esp, 8
push eax
lea ecx, [esp + 0x2a0]
call fcn.00d62440
lea ecx, [esp + 0x29c]
push ecx
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x29c]
call fcn.00d603b0
mov ecx, esi
jmp 0x11227b5
mov esi, dword [esi + 8]
cmp esi, edx
je 0x1123b19
push 0
mov edx, edi
push edx
lea eax, [esp + 0x53c]
push esi
push eax
call fcn.01122210
add esp, 0x10
push eax
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x534]
call fcn.00d603b0
jmp 0x1123b19
mov dword [esp + 0x20], edx
lea ebx, [esi + 8]
test ecx, 0x4000
je 0x1122e16
mov ecx, dword [ebx]
mov eax, dword [ecx]
jmp 0x1122e18
mov eax, dword [ebx]
cmp dword [esp + 0x5b8], 0x40
mov dword [esp + 0x20], eax
je 0x1123175
mov ecx, dword [esp + 0x5b8]
test ecx, ecx
jne 0x1122ee5
push 0x11bb238
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x1123171
push 0x12bfa24
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x1123171
push 0x11bb230
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x11230af
push 0x12bfa18
push edi
call fcn.00d27949
add esp, 8
test al, al
jne 0x11230af
mov edx, dword [edi]
cmp dword [edx + 8], 0
je 0x1123b19
mov eax, 0x4000
test word [esi], ax
je 0x1122ef0
push 0x10c2830
push 0x10cbce0
push 0x12bf9cc
call fcn.00d6ccf0
add esp, 0xc
push ebx
push eax
lea ecx, [esp + 0x52c]
call fcn.00d610d0
push eax
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x524]
call fcn.00d603b0
jmp 0x1123b19
cmp ecx, 0x41
je 0x11230b3
jmp 0x1122e91
push 0x12f18f0
push edi
call fcn.00d27949
add esp, 8
test al, al
je 0x1122f5a
push 0x10
call fcn.01126532
add esp, 4
test eax, eax
je 0x1122f24
mov ecx, dword [esp + 0x20]
push 0
push ecx
mov ecx, eax
call fcn.01124350
mov dword [esp + 0x78], eax
jmp 0x1122f2c
mov dword [esp + 0x78], 0
lea edx, [esp + 0x78]
push edx
lea eax, [esp + 0x558]
push eax
call fcn.011221c0
add esp, 8
push eax
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x554]
call fcn.00d603b0
jmp 0x1123b19
push 0x12bf428
push edi
call fcn.00d6e8b0
add esp, 8
test al, al
je 0x1123039
mov ecx, dword [edi]
mov eax, dword [ecx + 0xc]
push eax
call fcn.00d6d000
add esp, 4
test eax, eax
je 0x1123039
mov esi, dword [edi]
mov dword [esp + 0x88], esi
mov edx, esi
mov eax, 1
lock xadd dword [edx], eax
push 0xffffffffffffffff
push 0x2a
mov ecx, edi
call fcn.00d4e470
cmp eax, 0xffffffff
je 0x1122fd3
push eax
lea ecx, [esp + 0xd0]
push ecx
mov ecx, edi
call fcn.00d4ef30
mov ecx, esi
mov esi, dword [eax]
mov dword [eax], ecx
lea ecx, [esp + 0xcc]
mov dword [esp + 0x88], esi
call fcn.00d217d1
mov esi, dword [esi + 0xc]
push esi
call fcn.00d6d000
mov edx, dword [esp + 0x24]
push edx
push eax
call fcn.011120a0
mov dword [esp + 0xc0], eax
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
add esp, 0xc
lea ecx, [esp + 0xb4]
push ecx
push eax
call fcn.00d6d000
add esp, 4
push eax
lea ecx, [esp + 0x4ec]
call fcn.00d610d0
push eax
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x4e4]
call fcn.00d603b0
lea ecx, [esp + 0x88]
call fcn.00d217d1
jmp 0x1123b19
mov eax, dword [0x131bf4c]
mov edx, dword [edi]
mov esi, dword [edx + 0xc]
test eax, eax
jne 0x112305b
push 0xffffffffffffffff
push 0x12bf428
call fcn.011134e0
add esp, 8
mov dword [0x131bf4c], eax
mov eax, dword [0x131bf4c]
cmp eax, 0xffffffff
je 0x1123071
push eax
push esi
call fcn.00d6ce00
add esp, 8
jmp 0x1123084
push 0x10c2830
push 0x10cbce0
push esi
call fcn.00d6ccf0
add esp, 0xc
lea ecx, [esp + 0x20]
push ecx
push eax
lea ecx, [esp + 0x4fc]
call fcn.00d610d0
push eax
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x4f4]
call fcn.00d603b0
jmp 0x1123b19
mov eax, dword [esp + 0x20]
mov dword [esp + 0x40], 0
test eax, eax
je 0x1123128
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [esp + 0x40]
push ecx
push 0x12bfcd0
push eax
call edx
mov esi, dword [esp + 0x40]
test esi, esi
je 0x1123128
lea edi, [esp + 0x4d8]
call fcn.01120bd0
push 0
push eax
push 0x41
lea ecx, [esp + 0x2c8]
call fcn.00d61110
lea eax, [esp + 0x2bc]
push eax
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x2bc]
call fcn.00d603b0
mov ecx, edi
call fcn.00df7270
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x1123b19
lea ecx, [esp + 0x4cc]
call fcn.00df6fb0
push 0
push eax
push 0x41
lea ecx, [esp + 0x2e8]
call fcn.00d61110
lea eax, [esp + 0x2dc]
push eax
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x2dc]
call fcn.00d603b0
lea ecx, [esp + 0x4cc]
call fcn.00df7270
jmp 0x1123b19
mov eax, dword [esp + 0x20]
mov dword [esp + 0x60], 0
test eax, eax
je 0x11231ea
mov ecx, dword [eax]
lea edx, [esp + 0x60]
push edx
push 0x12bfcc0
push eax
mov eax, dword [ecx]
call eax
mov esi, dword [esp + 0x60]
test esi, esi
je 0x11231ea
lea edi, [esp + 0x154]
call fcn.01120a20
push 0
push eax
push 0x40
lea ecx, [esp + 0x308]
call fcn.00d61110
lea ecx, [esp + 0x2fc]
push ecx
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x2fc]
call fcn.00d603b0
mov ecx, edi
call fcn.00e1bfb0
mov eax, dword [esp + 0x60]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x1123b19
lea ecx, [esp + 0xfc]
call fcn.00e60fb0
push 0
push eax
push 0x40
lea ecx, [esp + 0x328]
call fcn.00d61110
lea ecx, [esp + 0x31c]
push ecx
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x31c]
call fcn.00d603b0
lea ecx, [esp + 0xfc]
call fcn.00e1bfb0
jmp 0x1123b19
mov dword [esp + 0x64], edx
test ecx, 0x4000
je 0x112325b
mov edx, dword [esi + 8]
mov eax, dword [edx]
lea edx, [esp + 0x64]
push edx
push ebp
mov dword [esp + 0x6c], eax
call fcn.01115220
add esp, 8
jmp 0x1123b19
mov ecx, dword [esi + 8]
lea edx, [esp + 0x64]
push edx
push ebp
mov dword [esp + 0x6c], ecx
call fcn.01115220
add esp, 8
jmp 0x1123b19
test ecx, 0x4000
je 0x1123284
mov eax, dword [esi + 8]
mov esi, dword [eax]
jmp 0x1123287
mov esi, dword [esi + 8]
mov dword [esp + 0x14], ebx
mov ecx, 1
lock xadd dword [ebx], ecx
cmp esi, edx
je 0x11233a7
cmp word [esi], 1
jne 0x11233a7
lea edx, [esp + 0x94]
push edx
push 1
push esi
call dword [fcn.011953dc]
lea eax, [esp + 0x84]
push eax
push 1
push esi
call dword [fcn.011953d8]
mov eax, dword [esp + 0x94]
mov dword [esp + 0x4c], eax
cmp eax, dword [esp + 0x84]
jg 0x1123357
mov edi, dword [fcn.011953d4]
mov ebx, dword [fcn.01195388]
jmp 0x11232f0
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x50]
push edx
push esi
call edi
mov eax, dword [esp + 0x74]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x98]
push ecx
call fcn.00d36260
add esp, 0xc
push eax
lea ecx, [esp + 0x18]
call fcn.00d28bf8
mov edx, dword [esp + 0x90]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x112333e
mov ecx, dword [esp + 0x90]
push ecx
call fcn.00d33020
add esp, 4
mov edx, dword [esp + 0x74]
push edx
call ebx
mov eax, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x4c], eax
cmp eax, dword [esp + 0x84]
jle 0x11232f0
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x340]
call fcn.00d65b80
lea ecx, [esp + 0x33c]
push ecx
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x33c]
call fcn.00d603b0
mov edx, dword [esp + 0x14]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x1123b19
mov ecx, dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x18]
call fcn.00d21eb3
jmp 0x1123b19
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x360]
call fcn.00d65b80
lea eax, [esp + 0x35c]
push eax
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x35c]
call fcn.00d603b0
mov ecx, dword [esp + 0x14]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1123b19
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x18]
call fcn.00d21eb3
jmp 0x1123b19
sub eax, 0x600c
je 0x1123773
sub eax, 5
je 0x1123636
test ecx, 0x2000
je 0x1123b19
test ecx, 0x4000
je 0x1123426
mov ecx, dword [esi + 8]
mov esi, dword [ecx]
jmp 0x1123429
mov esi, dword [esi + 8]
mov dword [esp + 0x10], 0x130c268
mov edx, 0x130c268
mov eax, 1
lock xadd dword [edx], eax
test esi, esi
je 0x11235ec
cmp word [esi], 1
jne 0x11235ec
lea ecx, [esp + 0x34]
push ecx
push esi
call dword [fcn.011953d0]
movzx eax, word [esp + 0x34]
add eax, 0xfffffffe
cmp eax, 0x15
ja case.0x1123471.8
movzx edx, byte [eax + 0x1123e14]
jmp dword [edx*4 + 0x1123e08]
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x380]
call fcn.00d65370
lea ecx, [esp + 0x37c]
push ecx
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x37c]
call fcn.00d603b0
mov edx, dword [esp + 0x10]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x1123b19
mov ecx, dword [esp + 0x10]
push ecx
lea ecx, [esp + 0x14]
jmp 0x1123b14
lea edx, [esp + 0xbc]
push edx
push 1
push esi
call dword [fcn.011953dc]
lea eax, [esp + 0x7c]
push eax
push 1
push esi
call dword [fcn.011953d8]
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x7c]
jg 0x11235a1
mov edi, dword [fcn.011953d4]
lea ecx, [ecx]
mov cx, word [esp + 0x34]
lea edx, [esp + 0xe4]
push edx
lea eax, [esp + 0x20]
push eax
push esi
mov word [esp + 0xe8], cx
call edi
push 0
lea ecx, [esp + 0x60]
call fcn.00d4e840
push 0
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0xe4]
push edx
lea eax, [esp + 0x3a8]
push eax
call fcn.01122210
mov ecx, dword [esp + 0x6c]
add esp, 0x10
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1123561
mov eax, dword [esp + 0x5c]
push eax
call fcn.00d45a10
add esp, 4
lea ecx, [esp + 0xdc]
push ecx
call fcn.01120e60
add esp, 4
lea edx, [esp + 0x39c]
push edx
lea ecx, [esp + 0x14]
call fcn.00d2e5f0
lea ecx, [esp + 0x39c]
call fcn.00d603b0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x7c]
jle 0x1123500
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x3c0]
call fcn.00d65370
lea ecx, [esp + 0x3bc]
push ecx
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x3bc]
call fcn.00d603b0
mov edx, dword [esp + 0x10]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x1123b19
mov ecx, dword [esp + 0x10]
push ecx
lea ecx, [esp + 0x14]
jmp 0x1123b14
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x3e0]
call fcn.00d65370
lea eax, [esp + 0x3dc]
push eax
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x3dc]
call fcn.00d603b0
mov ecx, dword [esp + 0x10]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1123b19
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x10]
jmp 0x1123b13
test ecx, 0x4000
je 0x1123645
mov ecx, dword [esi + 8]
mov esi, dword [ecx]
jmp 0x1123648
mov esi, dword [esi + 8]
mov dword [esp + 0x18], 0x130c178
mov eax, 0x130c178
mov ecx, 1
lock xadd dword [eax], ecx
cmp esi, edx
je 0x1123724
cmp word [esi], 1
jne 0x1123724
lea edx, [esp + 0xb0]
push edx
push 1
push esi
call dword [fcn.011953dc]
lea eax, [esp + 0xac]
push eax
push 1
push esi
call dword [fcn.011953d8]
mov eax, dword [esp + 0xac]
cmp eax, 0xffffffff
je 0x11236ea
sub eax, dword [esp + 0xb0]
lea ecx, [esp + 0x18]
inc eax
push eax
call fcn.00d4f850
lea ecx, [esp + 0x18]
call fcn.00d22c03
lea ecx, [esp + 0xb8]
push ecx
push esi
mov edi, eax
call dword [fcn.011953bc]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
push eax
mov eax, dword [esp + 0xbc]
push eax
push edi
call fcn.011265c0
add esp, 0xc
push esi
call dword [fcn.011953b8]
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x400]
call fcn.00d62380
lea edx, [esp + 0x3fc]
push edx
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x3fc]
call fcn.00d603b0
lea ecx, [esp + 0x18]
call fcn.00d217d1
jmp 0x1123b19
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x420]
call fcn.00d62380
lea ecx, [esp + 0x41c]
push ecx
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x41c]
call fcn.00d603b0
mov edx, dword [esp + 0x18]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x1123b19
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00d45a10
add esp, 4
jmp 0x1123b19
test ecx, 0x4000
je 0x1123782
mov eax, dword [esi + 8]
mov esi, dword [eax]
jmp 0x1123785
mov esi, dword [esi + 8]
cmp esi, edx
je 0x1123792
push esi
call dword [fcn.011953cc]
jmp 0x1123794
xor eax, eax
dec eax
je 0x11239e7
dec eax
je 0x11237f5
mov dword [esp + 0x3c], ebx
mov ecx, 1
lock xadd dword [ebx], ecx
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0x440]
call fcn.00d65370
lea eax, [esp + 0x43c]
push eax
mov ecx, ebp
call fcn.00d22cae
lea ecx, [esp + 0x43c]
call fcn.00d603b0
mov ecx, dword [esp + 0x3c]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1123b19
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x3c]
jmp 0x1123b13
mov dword [esp + 0x38], 0x130c268
mov ecx, 0x130c268
mov edx, 1
lock xadd dword [ecx], edx
mov edi, dword [fcn.011953dc]
lea eax, [esp + 0x98]
push eax
push 1
push esi
call edi
mov ebx, dword [fcn.011953d8]
lea ecx, [esp + 0x70]
push ecx
push 1
push esi
call ebx
lea edx, [esp + 0x9c]
push edx
push 2
push esi
call edi
lea eax, [esp + 0x8c]
push eax
push 2
push esi
call ebx
mov eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x70]
jg 0x112399c
mov ebx, dword [fcn.01195390]
mov dword [esp + 0x24], 0x130c268
mov ecx, 0x130c268
mov edx, 1
lock xadd dword [ecx], edx
mov edi, dword [esp + 0x9c]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xd4], eax
cmp edi, dword [esp + 0x8c]
jg 0x1123947
jmp 0x11238a0
lea ecx, [esp + 0xec]
push ecx
call ebx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0xd8]
push eax
push esi
mov dword [esp + 0xe4], edi
call dword [fcn.011953d4]
push 0
lea ecx, [esp + 0x48]
call fcn.00d4e840
push 0
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0xf4]
push edx
lea eax, [esp + 0x468]
push eax
call fcn.01122210
mov ecx, dword [esp + 0x54]
add esp, 0x10
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x112390c
mov eax, dword [esp + 0x44]
push eax
call fcn.00d45a10
add esp, 4
lea ecx, [esp + 0xec]
push ecx
call fcn.01120e60
add esp, 4
lea edx, [esp + 0x45c]
push edx
lea ecx, [esp + 0x28]
call fcn.00d2e5f0
lea ecx, [esp + 0x45c]
call fcn.00d603b0
inc edi
cmp edi, dword [esp + 0x8c]
jle 0x11238a0
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x518]
call fcn.00d65370
push eax
lea ecx, [esp + 0x3c]
call fcn.00d2e5f0
lea ecx, [esp + 0x514]
call fcn.00d603b0
mov ecx, dword [esp + 0x24]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1123989
mov eax, dword [esp + 0x24]
push eax
lea ecx, [esp + 0x28]
call fcn.00d268cd
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x70]
jle 0x1123863
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x480]
call fcn.00d65370
lea edx, [esp + 0x47c]
push edx
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x47c]
call fcn.00d603b0
mov eax, dword [esp + 0x38]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x1123b19
mov edx, dword [esp + 0x38]
push edx
lea ecx, [esp + 0x3c]
jmp 0x1123b14
mov dword [esp + 0x30], ebx
mov eax, 1
lock xadd dword [ebx], eax
lea ecx, [esp + 0xa4]
push ecx
push 1
push esi
call dword [fcn.011953dc]
lea edx, [esp + 0x6c]
push edx
push 1
push esi
call dword [fcn.011953d8]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x50], eax
cmp eax, dword [esp + 0x6c]
jg 0x1123ad2
mov edi, dword [fcn.01195390]
mov ebx, dword [fcn.011953d4]
lea eax, [esp + 0x104]
push eax
call edi
lea ecx, [esp + 0x104]
push ecx
lea edx, [esp + 0x54]
push edx
push esi
call ebx
push 0
lea ecx, [esp + 0x4c]
call fcn.00d4e840
push 0
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x10c]
push ecx
lea edx, [esp + 0x4a8]
push edx
call fcn.01122210
mov eax, dword [esp + 0x58]
add esp, 0x10
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x1123a92
mov edx, dword [esp + 0x48]
push edx
call fcn.00d45a10
add esp, 4
lea eax, [esp + 0x104]
push eax
call fcn.01120e60
add esp, 4
lea ecx, [esp + 0x49c]
push ecx
lea ecx, [esp + 0x34]
call fcn.00d2e5f0
lea ecx, [esp + 0x49c]
call fcn.00d603b0
mov eax, dword [esp + 0x50]
inc eax
mov dword [esp + 0x50], eax
cmp eax, dword [esp + 0x6c]
jle 0x1123a34
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x4c0]
call fcn.00d65370
lea eax, [esp + 0x4bc]
push eax
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x4bc]
call fcn.00d603b0
mov ecx, dword [esp + 0x30]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1123b19
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x30]
push eax
call fcn.00d268cd
mov esi, dword [esp + 0x5b8]
test esi, esi
jne 0x1123b60
mov esi, dword [esp + 0x58]
mov ecx, dword [esi]
cmp dword [ecx + 8], 0
je 0x1123d3e
push 0x12f18f0
push esi
call fcn.00d4e730
add esp, 8
neg eax
sbb eax, eax
neg eax
test al, al
je 0x1123d3e
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push eax
call fcn.00d60470
add esp, 4
mov esi, eax
cmp esi, 0xffffffff
je 0x1123d3e
test esi, esi
je 0x1123d3e
mov ecx, ebp
call fcn.00d603f0
cmp eax, esi
je 0x1123d3e
push esi
mov ecx, ebp
call fcn.00d61c30
test al, al
je 0x1123bc5
push ebp
lea ecx, [esp + 0x128]
call fcn.00d60f80
push esi
lea ecx, [esp + 0x128]
call fcn.00d62960
test al, al
je 0x1123bb9
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x124]
jmp 0x1123d39
cmp esi, 0xb
jne 0x1123d0d
mov ecx, ebp
call fcn.00d603f0
cmp eax, 9
jne 0x1123d0d
mov bl, 1
mov dword [esp + 0x2c], 0x130c268
mov ecx, 0x130c268
mov edx, 1
lock xadd dword [ecx], edx
lea eax, [esp + 0x28]
push eax
mov ecx, ebp
call fcn.00d65440
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
lea esi, [eax + ecx*4 + 0x14]
lea eax, [eax + edx*4 + 0x14]
cmp esi, eax
je 0x1123ca9
lea esp, [esp]
mov eax, dword [esi]
push eax
lea ecx, [esp + 0x148]
call fcn.00d60f80
push 0xa
lea ecx, [esp + 0x148]
call fcn.00d61c30
test al, al
je 0x1123c81
lea ecx, [esp + 0x80]
push ecx
lea ecx, [esp + 0x148]
call fcn.00d61790
push eax
lea ecx, [esp + 0x30]
call fcn.00d28bf8
mov edx, dword [esp + 0x80]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x1123c83
mov ecx, dword [esp + 0x80]
push ecx
call fcn.00d33020
add esp, 4
jmp 0x1123c83
xor bl, bl
lea ecx, [esp + 0x144]
call fcn.00d603b0
mov eax, dword [esp + 0x28]
mov edx, dword [eax + 0xc]
add esi, 4
lea ecx, [eax + edx*4 + 0x14]
cmp esi, ecx
jne 0x1123c20
test bl, bl
je 0x1123cd9
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x330]
call fcn.00d65b80
lea ecx, [esp + 0x32c]
push ecx
mov ecx, ebp
call fcn.00d61230
lea ecx, [esp + 0x32c]
call fcn.00d603b0
mov eax, dword [esp + 0x28]
or edx, 0xffffffff
lock xadd dword [eax], edx
jne 0x1123cf0
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x2c]
call fcn.00d268cd
mov ecx, dword [esp + 0x2c]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x1123d3e
mov eax, dword [esp + 0x2c]
push eax
lea ecx, [esp + 0x30]
call fcn.00d21eb3
jmp 0x1123d3e
lea ecx, [esp + 0x15c]
push ecx
mov ecx, ebp
mov dword [esp + 0x168], 0x80000000
mov dword [esp + 0x160], 0
call fcn.00d22cae
lea ecx, [esp + 0x15c]
call fcn.00d603b0
mov ecx, dword [esp + 0x5a4]
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
xor ecx, esp
call fcn.011264c7
add esp, 0x598
ret