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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x2c13806
sub esp, 0x64
mov eax, dword [esp + 0x84]
test eax, eax
je 0x2c130c0
nop
lea eax, [0x2d17580]
mov dword [esp], eax
call fcn.02aeb620
mov edi, dword [esp + 4]
mov eax, dword [0x311e9a0]
test eax, eax
jne 0x2c12ebd
mov ebx, dword [esp + 0x68]
mov dword [edi], ebx
jmp 0x2c12ec8
mov eax, dword [esp + 0x68]
call fcn.02b3e880
mov ebx, eax
mov dword [esp + 0x38], edi
mov ebp, dword [esp + 0x7c]
test ebp, ebp
jne 0x2c12f08
mov esi, dword [esp + 0x74]
test esi, esi
jne 0x2c12ee2
xor ecx, ecx
xor eax, eax
jmp 0x2c12f2f
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0x78]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x38]
jmp 0x2c12f2f
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x54], eax
mov edx, ebp
mov ebp, dword [ebx + 0x140]
mov esi, dword [ebx + 0x144]
cmp esi, 4
jne 0x2c12f55
cmp dword [ebp], 0x78696e75
je 0x2c12fa6
jmp 0x2c12fcb
cmp esi, 8
jne 0x2c12f6e
cmp dword [ebp], 0x78696e75
jne 0x2c12fcb
cmp dword [ebp + 4], 0x6d617267
je 0x2c12fa6
jmp 0x2c12fcb
cmp esi, 0xa
jne 0x2c12fcb
mov dword [esp], ebp
lea eax, [0x2d40ced]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.02ae2800
movzx eax, byte [esp + 0xc]
test al, al
je 0x2c12fb7
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x68]
mov edi, dword [esp + 0x38]
mov ebp, dword [ebx + 0x140]
mov esi, dword [ebx + 0x144]
jmp 0x2c13084
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x68]
mov edi, dword [esp + 0x38]
mov ebp, dword [ebx + 0x144]
mov esi, dword [ebx + 0x140]
lea edi, [ebp - 1]
cmp ebp, edi
jbe 0x2c137fc
movzx edi, byte [ebp + esi - 1]
xchg edi, eax
cmp al, 0x34
xchg edi, eax
je 0x2c12ff5
xchg edi, eax
cmp al, 0x36
xchg edi, eax
jne 0x2c13005
mov edi, dword [esp + 0x38]
mov edi, esi
mov esi, ebp
mov ebp, edi
mov edi, dword [esp + 0x38]
jmp 0x2c13084
cmp dword [ebx + 0x134], 2
jne 0x2c1304a
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
lea eax, [0x2da0f92]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.02b2a990
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
jmp 0x2c13084
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
lea eax, [0x2da1ea4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.02b2a990
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x84]
mov ebx, dword [edx]
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
lea eax, [0x2da7e78]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
call ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
test eax, eax
jne 0x2c137ea
mov eax, dword [esp + 0x74]
test eax, eax
jne 0x2c130ce
xor ebp, ebp
xor esi, esi
jmp 0x2c13147
mov eax, dword [eax + 0x20]
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 0x134]
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov dword [esp + 4], edx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 8]
mov esi, dword [esp + 0xc]
test eax, eax
jne 0x2c137d8
test ebp, ebp
je 0x2c13147
mov dword [esp + 0x40], esi
mov dword [esp + 0x2c], ebp
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.02b4aa00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x2c1376d
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x2c1320d
mov dword [esp + 0x40], esi
mov dword [esp + 0x2c], ebp
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x68]
mov ebx, dword [edx + 0x134]
mov ebp, dword [esp + 0x80]
mov dword [esp], ebp
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
test eax, eax
jne 0x2c131fb
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebp
call fcn.02c07b00
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
test eax, eax
jne 0x2c131e9
mov eax, dword [esp + 0x68]
mov byte [eax + 0x13c], 1
jmp 0x2c13235
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edx
add esp, 0x64
ret
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edx
add esp, 0x64
ret
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call fcn.02c079f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test eax, eax
jne 0x2c1375b
mov eax, dword [esp + 0x68]
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], ebp
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
call fcn.02b4aae0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x34]
test edx, edx
je 0x2c1340e
mov ebx, dword [esp + 0x68]
mov ebp, dword [ebx + 0x134]
cmp ebp, 1
jne 0x2c13298
mov ebp, dword [ebx + 0x138]
cmp ebp, 1
jne 0x2c1327e
lea ebp, [0x2d5a050]
jmp 0x2c132d5
cmp ebp, 2
jne 0x2c1328b
lea ebp, [0x2d5a048]
jmp 0x2c132d5
cmp ebp, 5
jne 0x2c132cf
lea ebp, [0x2d5a04c]
jmp 0x2c132d5
cmp ebp, 2
je 0x2c132a2
cmp ebp, 0x17
jne 0x2c132cf
mov ebp, dword [ebx + 0x138]
cmp ebp, 1
jne 0x2c132b5
lea ebp, [0x2d5a040]
jmp 0x2c132d5
cmp ebp, 2
jne 0x2c132c2
lea ebp, [0x2d5a044]
jmp 0x2c132d5
cmp ebp, 3
jne 0x2c132cf
lea ebp, [0x2d5a03c]
jmp 0x2c132d5
lea ebp, [0x2d59ff8]
mov ebx, dword [ebp]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, ebp
call ebx
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x134]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x44], ebx
mov ebp, dword [esp + 8]
mov dword [esp + 0x60], ebp
cmp ecx, 1
jne 0x2c1332f
mov ecx, dword [eax + 0x138]
cmp ecx, 1
jne 0x2c13315
lea ecx, [0x2d5a050]
jmp 0x2c1336c
cmp ecx, 2
jne 0x2c13322
lea ecx, [0x2d5a048]
jmp 0x2c1336c
cmp ecx, 5
jne 0x2c13366
lea ecx, [0x2d5a04c]
jmp 0x2c1336c
cmp ecx, 2
je 0x2c13339
cmp ecx, 0x17
jne 0x2c13366
mov ecx, dword [eax + 0x138]
cmp ecx, 1
jne 0x2c1334c
lea ecx, [0x2d5a040]
jmp 0x2c1336c
cmp ecx, 2
jne 0x2c13359
lea ecx, [0x2d5a044]
jmp 0x2c1336c
cmp ecx, 3
jne 0x2c13366
lea ecx, [0x2d5a03c]
jmp 0x2c1336c
lea ecx, [0x2d59ffc]
mov eax, dword [ecx]
mov ebx, dword [esp + 0x34]
mov dword [esp], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 4], ebx
mov edx, ecx
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x68]
mov dword [ebp + 0x148], ebx
mov ebx, dword [0x311e9a0]
test ebx, ebx
jne 0x2c133ad
mov edx, dword [esp + 0x44]
mov dword [ebp + 0x14c], edx
jmp 0x2c133c0
lea edi, [ebp + 0x14c]
mov edx, eax
mov eax, dword [esp + 0x44]
call fcn.02b3e880
mov eax, edx
mov dword [ebp + 0x150], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2c133d8
mov dword [ebp + 0x154], eax
jmp 0x2c133e3
lea edi, [ebp + 0x154]
call fcn.02b3e880
lea eax, [0x2d38c40]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [0x2d0aea0]
mov dword [esp + 8], eax
lea eax, [0x2d59fec]
mov dword [esp + 0xc], eax
call fcn.02af5790
jmp 0x2c13741
mov dword [esp + 0x40], ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
call fcn.02b4abc0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test eax, eax
je 0x2c135fa
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x68]
mov ebx, dword [eax + 0x134]
cmp ebx, 1
jne 0x2c1347d
mov ebx, dword [eax + 0x138]
cmp ebx, 1
jne 0x2c13463
lea ebx, [0x2d5a050]
jmp 0x2c134ba
cmp ebx, 2
jne 0x2c13470
lea ebx, [0x2d5a048]
jmp 0x2c134ba
cmp ebx, 5
jne 0x2c134b4
lea ebx, [0x2d5a04c]
jmp 0x2c134ba
cmp ebx, 2
je 0x2c13487
cmp ebx, 0x17
jne 0x2c134b4
mov ebx, dword [eax + 0x138]
cmp ebx, 1
jne 0x2c1349a
lea ebx, [0x2d5a040]
jmp 0x2c134ba
cmp ebx, 2
jne 0x2c134a7
lea ebx, [0x2d5a044]
jmp 0x2c134ba
cmp ebx, 3
jne 0x2c134b4
lea ebx, [0x2d5a03c]
jmp 0x2c134ba
lea ebx, [0x2d5a000]
mov eax, dword [ebx]
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
mov edx, ebx
call eax
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x134]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x48], ebx
mov ebp, dword [esp + 8]
mov dword [esp + 0x60], ebp
cmp ecx, 1
jne 0x2c1351b
mov ecx, dword [eax + 0x138]
cmp ecx, 1
jne 0x2c13501
lea ecx, [0x2d5a050]
jmp 0x2c13558
cmp ecx, 2
jne 0x2c1350e
lea ecx, [0x2d5a048]
jmp 0x2c13558
cmp ecx, 5
jne 0x2c13552
lea ecx, [0x2d5a04c]
jmp 0x2c13558
cmp ecx, 2
je 0x2c13525
cmp ecx, 0x17
jne 0x2c13552
mov ecx, dword [eax + 0x138]
cmp ecx, 1
jne 0x2c13538
lea ecx, [0x2d5a040]
jmp 0x2c13558
cmp ecx, 2
jne 0x2c13545
lea ecx, [0x2d5a044]
jmp 0x2c13558
cmp ecx, 3
jne 0x2c13552
lea ecx, [0x2d5a03c]
jmp 0x2c13558
lea ecx, [0x2d5a004]
mov eax, dword [ecx]
mov ebx, dword [esp + 0x5c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov edx, ecx
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x68]
mov dword [ebp + 0x148], ebx
mov ebx, dword [0x311e9a0]
test ebx, ebx
jne 0x2c13599
mov edx, dword [esp + 0x48]
mov dword [ebp + 0x14c], edx
jmp 0x2c135ac
lea edi, [ebp + 0x14c]
mov edx, eax
mov eax, dword [esp + 0x48]
call fcn.02b3e880
mov eax, edx
mov dword [ebp + 0x150], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2c135c4
mov dword [ebp + 0x154], eax
jmp 0x2c135cf
lea edi, [ebp + 0x154]
call fcn.02b3e880
lea eax, [0x2d38c40]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [0x2d0aea0]
mov dword [esp + 8], eax
lea eax, [0x2d59fec]
mov dword [esp + 0xc], eax
call fcn.02af5790
jmp 0x2c13741
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x134]
cmp ecx, 1
jne 0x2c13636
mov ecx, dword [eax + 0x138]
cmp ecx, 1
jne 0x2c1361c
lea ecx, [0x2d5a050]
jmp 0x2c13673
cmp ecx, 2
jne 0x2c13629
lea ecx, [0x2d5a048]
jmp 0x2c13673
cmp ecx, 5
jne 0x2c1366d
lea ecx, [0x2d5a04c]
jmp 0x2c13673
cmp ecx, 2
je 0x2c13640
cmp ecx, 0x17
jne 0x2c1366d
mov ecx, dword [eax + 0x138]
cmp ecx, 1
jne 0x2c13653
lea ecx, [0x2d5a040]
jmp 0x2c13673
cmp ecx, 2
jne 0x2c13660
lea ecx, [0x2d5a044]
jmp 0x2c13673
cmp ecx, 3
jne 0x2c1366d
lea ecx, [0x2d5a03c]
jmp 0x2c13673
lea ecx, [0x2d5a008]
mov eax, dword [ecx]
mov ebx, dword [esp + 0x60]
mov dword [esp], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 4], ebx
mov edx, ecx
call eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x60], ecx
lea ebx, [0x2d185a0]
mov dword [esp], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x80]
mov dword [esp + 8], ebx
call fcn.02ae90c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x68]
mov dword [ebp + 0x148], ebx
mov ebx, dword [0x311e9a0]
test ebx, ebx
jne 0x2c136e5
mov edx, dword [esp + 0x4c]
mov dword [ebp + 0x14c], edx
jmp 0x2c136f8
lea edi, [ebp + 0x14c]
mov edx, eax
mov eax, dword [esp + 0x4c]
call fcn.02b3e880
mov eax, edx
mov dword [ebp + 0x150], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2c13710
mov dword [ebp + 0x154], eax
jmp 0x2c1371b
lea edi, [ebp + 0x154]
call fcn.02b3e880
lea eax, [0x2d38c40]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [0x2d0aea0]
mov dword [esp + 8], eax
lea eax, [0x2d59fec]
mov dword [esp + 0xc], eax
call fcn.02af5790
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
add esp, 0x64
ret
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edx
add esp, 0x64
ret
mov dword [esp + 0x50], ecx
mov dword [esp + 0x60], edx
lea eax, [0x2d1cfc0]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x2d3f66d]
mov dword [eax], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2c137b0
mov ecx, dword [esp + 0x50]
mov dword [eax + 0xc], ecx
jmp 0x2c137c0
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x50]
call fcn.02b3e880
mov eax, ecx
lea ecx, [0x2da461c]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
add esp, 0x64
ret
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edx
add esp, 0x64
ret
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ebx
add esp, 0x64
ret
mov eax, edi
mov ecx, ebp
call fcn.02b3e900
nop
call fcn.02b3d440
jmp fcn.02c12e70