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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x138]
cmp eax, dword [ecx + 8]
jbe 0x2c942b0
sub esp, 0x1b8
mov dword [esp + 0x1c4], 0
mov byte [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
call fcn.02c92e40
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test eax, eax
jne 0x2c93b4e
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x2c932b4
nop
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x2c94297
lea eax, [ecx + 4]
mov dword [esp], eax
call fcn.02b3cd10
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
call fcn.02c92af0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
mov eax, dword [esp + 0x1cc]
test eax, eax
jne 0x2c93b2e
mov dword [esp + 0x44], edx
mov dword [esp + 0xd4], ebx
mov eax, dword [esp + 0x1bc]
lea ecx, [eax + 0x30]
mov dword [esp + 0x114], ecx
mov dword [esp], ecx
call fcn.02b458f0
mov eax, dword [esp + 0x1bc]
mov dword [esp], eax
mov ecx, dword [esp + 0x1c0]
mov dword [esp + 4], ecx
call fcn.02c944f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x2c93ad5
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x24]
test ecx, ecx
je 0x2c933b0
je 0x2c93384
lea ebx, [0x2d268a0]
cmp dword [ecx + 4], ebx
je 0x2c933b0
mov ebx, dword [eax + 0x30]
test ebx, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
mov esi, dword [eax + 0x2c]
test esi, esi
xchg edi, ebx
setne bl
xchg edi, ebx
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
jne 0x2c933b4
mov ebx, 0xffffffff
mov esi, 0xffffffff
jmp 0x2c933b4
xor ebx, ebx
xor esi, esi
mov dword [esp + 0xf4], edx
mov dword [esp + 0x54], ecx
mov ebp, dword [esp + 0x1bc]
mov edi, dword [ebp]
test esi, esi
setne dl
test ebx, ebx
setne cl
or ecx, edx
mov byte [esp + 0x31], cl
movzx edx, byte [edi + 0x10]
test dl, dl
je 0x2c933e8
xor edx, edx
jmp 0x2c93494
mov dword [esp + 0x34], esi
mov dword [esp + 0x3c], ebx
mov edx, dword [edi + 0x2c]
test edx, edx
je 0x2c93406
movzx edx, byte [edx + 0x69]
test dl, dl
je 0x2c93406
xor edx, edx
jmp 0x2c93494
mov ecx, dword [eax + 0x1c]
mov dword [esp], ecx
lea ecx, [0x2d425ce]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xf
call fcn.02c64880
mov eax, dword [esp + 0x10]
test eax, eax
je 0x2c9344a
mov eax, dword [esp + 0x1c0]
movzx ecx, byte [esp + 0x31]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x1bc]
mov esi, dword [esp + 0x34]
xor edx, edx
jmp 0x2c93494
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax + 0x1c]
mov dword [esp], ecx
lea ecx, [0x2d3f8c4]
mov dword [esp + 4], ecx
mov dword [esp + 8], 5
call fcn.02c64880
mov eax, dword [esp + 0x10]
test eax, eax
sete al
movzx ecx, byte [esp + 0x31]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x1bc]
mov esi, dword [esp + 0x34]
mov edx, eax
mov eax, dword [esp + 0x1c0]
test dl, dl
je 0x2c934af
mov edx, dword [eax]
cmp dword [eax + 4], 4
jne 0x2c934a8
cmp dword [edx], 0x44414548
je 0x2c934af
mov edx, 1
jmp 0x2c934b1
xor edx, edx
mov byte [esp + 0x30], dl
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
mov dword [esp], ebp
mov dword [esp + 4], eax
mov byte [esp + 8], dl
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
call fcn.02c95740
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
mov eax, dword [esp + 0x1cc]
test eax, eax
jne 0x2c93aa6
mov dword [esp + 0x4c], ebp
mov dword [esp + 0xe4], edx
mov dword [esp + 0x48], ebx
mov eax, dword [esp + 0x1bc]
mov dword [esp], eax
call fcn.02c96d10
mov eax, dword [esp + 4]
test byte [eax], al
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2c9356f
mov ecx, dword [esp + 0x1c0]
mov dword [eax + 4], ecx
jmp 0x2c93589
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x1c0]
call fcn.02b3e880
mov eax, ecx
mov ecx, dword [esp + 0x1c0]
mov dword [esp + 0xf0], eax
mov edx, dword [ecx + 0x78]
mov ebx, dword [ecx + 0x7c]
test edx, edx
jne 0x2c935a7
nop
mov ebx, dword [0x30f65d4]
lea edx, [0x2da7f40]
mov eax, dword [edx + 0x1c]
mov dword [esp], ebx
lea ecx, [0x2d11680]
mov dword [esp + 4], ecx
lea ecx, [0x311e790]
mov dword [esp + 8], ecx
call eax
mov eax, dword [esp + 0x10]
lea ecx, [0x2d1a280]
cmp dword [esp + 0xc], ecx
je 0x2c935d5
xor eax, eax
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2c935eb
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 8], eax
jmp 0x2c935fa
mov ecx, dword [esp + 0xf0]
lea edi, [ecx + 8]
call fcn.02b3e880
movzx eax, byte [esp + 0x30]
mov byte [ecx + 0x61], al
mov eax, dword [esp + 0x1bc]
mov edx, dword [eax]
mov dword [esp + 0x110], edx
lea ebx, [0x2d15760]
mov dword [esp], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xf4]
mov dword [esp + 8], ebx
call fcn.02ae90c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x110]
mov dword [esp], edx
mov edx, dword [esp + 0xf0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.02c9b2b0
lea edi, [esp + 0x138]
lea esi, [esp + 0x10]
call fcn.02b3efea
lea eax, [0x2d16240]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
lea ecx, [0x2cb5fb0]
mov dword [eax], ecx
mov ecx, dword [0x311e9a0]
lea edi, [eax + 4]
test ecx, ecx
jne 0x2c936ac
lea esi, [esp + 0x138]
call fcn.02b3efea
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 0x64], eax
jmp 0x2c936e6
mov dword [esp + 0x10c], eax
lea eax, [0x2d30fa0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x138]
mov dword [esp + 8], eax
call fcn.02af0c20
mov eax, dword [esp + 0xf0]
lea edi, [eax + 0x64]
mov eax, dword [esp + 0x10c]
call fcn.02b3e880
mov dword [esp + 0x70], 4
lea eax, [0x2d5a080]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0x98], eax
lea ecx, [esp + 0x70]
mov dword [esp], ecx
call fcn.02b118b0
test eax, eax
jne 0x2c93a99
mov eax, dword [esp + 0x1bc]
lea ecx, [eax + 0xd8]
mov dword [esp + 0x108], ecx
mov dword [esp], ecx
call fcn.02b458f0
movzx eax, byte [esp + 0x31]
test al, al
je 0x2c93746
xor ecx, ecx
jmp 0x2c9374f
mov ecx, dword [esp + 0x44]
test ecx, ecx
sete cl
mov eax, dword [esp + 0xf0]
mov edx, dword [eax + 0xc]
mov ebx, dword [esp + 0x1bc]
mov ebp, dword [ebx + 0xa0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov byte [esp + 8], cl
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x18], ecx
call fcn.02c947e0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xd0], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x104], edx
mov ebx, dword [esp + 0x108]
mov dword [esp], ebx
call fcn.02b45c90
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x2c937db
mov edx, dword [ecx + 0x34]
test edx, edx
je 0x2c937db
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0x114]
mov dword [esp], eax
call fcn.02b45c90
mov eax, dword [esp + 0x40]
test eax, eax
je 0x2c938b4
movzx eax, byte [esp + 0x31]
test al, al
je 0x2c93828
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov ecx, dword [ecx + 0x10]
mov dword [esp], eax
call ecx
lea edi, [esp]
lea esi, [esp + 0x138]
call fcn.02b3efea
call fcn.02c9b660
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x1bc]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
call fcn.02c96f30
mov eax, dword [esp + 0xf0]
mov eax, dword [eax + 8]
test eax, eax
je 0x2c93878
mov edx, dword [eax + 0x3c]
test edx, edx
je 0x2c93878
mov eax, dword [edx]
mov ecx, dword [esp + 0x104]
mov dword [esp], ecx
mov ebx, dword [esp + 0xd0]
mov dword [esp + 4], ebx
call eax
mov dword [esp + 0x1c4], 0
mov byte [esp + 0x1c8], 0
mov eax, dword [esp + 0x104]
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x1d0], eax
nop
call fcn.02b123e0
add esp, 0x1b8
ret
movzx ecx, byte [esp + 0x31]
test cl, cl
jne 0x2c939b2
mov ebx, dword [esp + 0xf0]
mov ebp, dword [ebx + 8]
test ebp, ebp
je 0x2c938f5
mov edx, dword [ebp + 0x3c]
test edx, edx
je 0x2c938f5
mov eax, dword [edx]
mov dword [esp], 0
mov dword [esp + 4], 0
call eax
movzx ecx, byte [esp + 0x31]
mov ebx, dword [esp + 0xf0]
mov edx, dword [esp + 0x1bc]
mov ebp, dword [edx]
mov ebp, dword [ebp + 0x2c]
test ebp, ebp
je 0x2c93915
mov eax, edx
mov edx, dword [ebp + 0x80]
mov ebp, dword [ebp + 0x84]
jmp 0x2c9391b
mov eax, edx
xor ebp, ebp
xor edx, edx
test edx, edx
mov esi, edx
setne dl
test ebp, ebp
mov edi, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x2c9393c
xor edx, edx
jmp 0x2c939db
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.02b5d670
mov eax, dword [esp + 8]
mov dword [esp + 0xdc], eax
mov dword [esp + 0x9c], 8
lea ecx, [0x2d5a3ac]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xc4], eax
lea edx, [esp + 0x9c]
mov dword [esp], edx
call fcn.02b118b0
test eax, eax
jne 0x2c939a5
mov ecx, dword [esp + 0xdc]
mov ecx, dword [ecx]
mov eax, dword [esp + 0x1bc]
mov ebx, dword [esp + 0xf0]
mov edx, ecx
movzx ecx, byte [esp + 0x31]
jmp 0x2c939db
nop
call fcn.02b123e0
add esp, 0x1b8
ret
lea edi, [esp]
lea esi, [esp + 0x138]
call fcn.02b3efea
call fcn.02c9b7a0
mov eax, dword [esp + 0x1bc]
movzx ecx, byte [esp + 0x31]
mov ebx, dword [esp + 0xf0]
xor edx, edx
mov ebp, dword [ebx + 0x10]
mov byte [esp + 0x32], 0
mov esi, ebp
mov ebp, dword [esp + 0x1c0]
mov edi, edx
mov edx, dword [ebp + 0x78]
mov ebp, dword [ebp + 0x7c]
test edx, edx
jne 0x2c93a05
nop
mov ebp, dword [0x30f65d4]
lea edx, [0x2da7f40]
mov dword [esp + 0x100], esi
mov dword [esp + 0xcc], ebp
mov dword [esp + 0x38], edx
mov dword [esp + 0xfc], edi
lea edi, [esp + 0x184]
xor eax, eax
call fcn.02b3eb13
lea ecx, [0x2c942c0]
mov dword [esp + 0x184], ecx
lea edi, [esp + 0x188]
lea esi, [esp + 0x138]
call fcn.02b3efea
mov dword [esp + 0x1a4], ebx
movzx ecx, byte [esp + 0x31]
mov byte [esp + 0x1a8], cl
lea ecx, [esp + 0x32]
mov dword [esp + 0x1ac], ecx
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x1b0], ecx
mov ecx, dword [esp + 0x1c0]
mov dword [esp + 0x1b4], ecx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xe0], eax
jmp 0x2c93b8e
nop
call fcn.02b123e0
add esp, 0x1b8
ret
mov eax, dword [esp + 0x114]
mov dword [esp], eax
call fcn.02b45c90
mov dword [esp + 0x1c4], 0
mov byte [esp + 0x1c8], 0
nop
call fcn.02b123e0
add esp, 0x1b8
ret
mov dword [esp + 0xec], edx
mov dword [esp + 0x104], ecx
mov eax, dword [esp + 0x114]
mov dword [esp], eax
call fcn.02b45c90
mov dword [esp + 0x1c4], 0
mov byte [esp + 0x1c8], 0
mov eax, dword [esp + 0x104]
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x1d0], eax
nop
call fcn.02b123e0
add esp, 0x1b8
ret
mov dword [esp + 0x1c4], 0
mov byte [esp + 0x1c8], 0
nop
call fcn.02b123e0
add esp, 0x1b8
ret
mov dword [esp + 0x1c4], 0
mov byte [esp + 0x1c8], 0
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x1d0], edx
nop
call fcn.02b123e0
add esp, 0x1b8
ret
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0xcc]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov eax, dword [edx + 0x14]
mov dword [esp], ebp
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0xf8], eax
mov ecx, dword [esp + 0x1c0]
mov edx, dword [ecx + 0x70]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [ebx + 0x94]
mov esi, dword [esp + 0x148]
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
lea edi, [esp + 0x154]
xor eax, eax
call fcn.02b3eb14
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x17c], ecx
lea edi, [esp + 0x12c]
mov dword [esp + 0x180], edi
mov edi, dword [esp + 0xe0]
mov dword [esp + 0x174], edi
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x16c], eax
mov dword [esp + 0x164], edx
mov dword [esp + 0x15c], ebp
mov dword [esp + 0x154], esi
lea eax, [esp + 0x118]
mov dword [esp + 0x158], eax
lea eax, [esp + 0x154]
mov dword [esp], eax
lea eax, [esp + 0x58]
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 6
mov byte [esp + 0x14], 1
call fcn.02b24210
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x2c93e82
mov eax, dword [esp + 0x118]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0xe8], ecx
mov byte [esp + 0x32], 1
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
lea edx, [esp + 0x120]
mov dword [esp], edx
mov edx, dword [esp + 0x100]
mov dword [esp + 4], edx
call fcn.02ae5a90
movzx eax, byte [esp + 8]
test al, al
jne 0x2c93e18
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x2c93daa
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x2c]
test ecx, ecx
je 0x2c93d2f
mov edx, dword [ecx + 0x80]
mov ecx, dword [ecx + 0x84]
jmp 0x2c93d33
xor ecx, ecx
xor edx, edx
test edx, edx
setne bl
test ecx, ecx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x2c93d55
mov ecx, dword [esp + 0xe0]
jmp 0x2c93b7c
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.02b5d670
mov eax, dword [esp + 8]
mov dword [esp + 0xd8], eax
mov dword [esp], 8
lea ecx, [0x2d5a3ac]
mov dword [esp + 4], ecx
call fcn.02b11790
test eax, eax
jne 0x2c93d9d
mov eax, dword [esp + 0xd8]
mov eax, dword [eax]
mov ecx, eax
mov eax, dword [esp + 0x1bc]
jmp 0x2c93b7c
nop
call fcn.02b123e0
add esp, 0x1b8
ret
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x1bc]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
call fcn.02c96f30
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
call fcn.02c8fd50
movzx eax, byte [esp + 4]
mov dword [esp + 0x1c4], 0
mov byte [esp + 0x1c8], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x1d0], eax
nop
call fcn.02b123e0
add esp, 0x1b8
ret
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
mov ebx, dword [esp + 0x128]
mov ebp, dword [esp + 0x184]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
lea edx, [esp + 0x184]
call ebp
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x1c4], eax
mov byte [esp + 0x1c8], cl
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x1d0], ebp
nop
call fcn.02b123e0
add esp, 0x1b8
ret
cmp eax, 1
je 0x2c94243
cmp eax, 2
jne 0x2c93f9a
movzx eax, byte [esp + 0x31]
test al, al
je 0x2c93ef6
movzx eax, byte [esp + 0x32]
test al, al
jne 0x2c93ef6
lea edi, [esp]
lea esi, [esp + 0x138]
call fcn.02b3efea
call fcn.02c9b660
mov eax, dword [0x30f7630]
mov ecx, dword [0x30f7634]
mov edx, dword [esp + 0xf0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.02c8fde0
mov eax, dword [esp + 0x148]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.02ae5240
jmp 0x2c93f2b
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x1bc]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 8
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.02c9afb0
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x1bc]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
call fcn.02c96f30
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
call fcn.02c8fd50
mov eax, dword [0x30f7610]
mov ecx, dword [0x30f7614]
movzx edx, byte [esp + 4]
mov dword [esp + 0x1c4], 0
mov byte [esp + 0x1c8], dl
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
nop
call fcn.02b123e0
add esp, 0x1b8
ret
cmp eax, 3
jne 0x2c940c1
movzx eax, byte [esp + 0x31]
test al, al
je 0x2c94005
movzx eax, byte [esp + 0x32]
test al, al
jne 0x2c94005
lea edi, [esp]
lea esi, [esp + 0x138]
call fcn.02b3efea
call fcn.02c9b660
mov eax, dword [0x30f7630]
mov ecx, dword [0x30f7634]
mov edx, dword [esp + 0xf0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.02c8fde0
mov eax, dword [esp + 0x148]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.02ae5240
jmp 0x2c9403a
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x1bc]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 8
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.02c9afb0
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x1bc]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
call fcn.02c96f30
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
call fcn.02c8fd50
movzx eax, byte [esp + 4]
mov byte [esp + 0x33], al
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx + 0x18]
mov edx, dword [esp + 0xcc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x1c4], 0
movzx edx, byte [esp + 0x33]
mov byte [esp + 0x1c8], dl
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
nop
call fcn.02b123e0
add esp, 0x1b8
ret
cmp eax, 4
jne 0x2c941d0
movzx eax, byte [esp + 0x31]
test al, al
je 0x2c9412c
movzx eax, byte [esp + 0x32]
test al, al
jne 0x2c9412c
lea edi, [esp]
lea esi, [esp + 0x138]
call fcn.02b3efea
call fcn.02c9b660
mov eax, dword [0x30f7630]
mov ecx, dword [0x30f7634]
mov edx, dword [esp + 0xf0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.02c8fde0
mov eax, dword [esp + 0x148]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.02ae5240
jmp 0x2c94161
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x1bc]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 8
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.02c9afb0
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x1bc]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
call fcn.02c96f30
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
call fcn.02c8fd50
mov eax, dword [0x30f1840]
mov ecx, dword [0x30f1844]
movzx edx, byte [esp + 4]
mov dword [esp + 0x1c4], 0
mov byte [esp + 0x1c8], dl
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
nop
call fcn.02b123e0
add esp, 0x1b8
ret
cmp eax, 5
jne 0x2c94297
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x130]
mov ebx, dword [esp + 0x134]
mov ebp, dword [esp + 0x184]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
lea edx, [esp + 0x184]
call ebp
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x1c4], eax
mov byte [esp + 0x1c8], cl
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x1d0], ebp
nop
call fcn.02b123e0
add esp, 0x1b8
ret
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
call fcn.02c8fd50
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + 0x98]
mov ecx, dword [ecx + 0x9c]
mov dword [esp + 0x1c4], 0
mov byte [esp + 0x1c8], al
mov dword [esp + 0x1cc], edx
mov dword [esp + 0x1d0], ecx
nop
call fcn.02b123e0
add esp, 0x1b8
ret
lea eax, [0x2d0e5c0]
mov dword [esp], eax
lea eax, [0x2da2608]
mov dword [esp + 4], eax
call fcn.02b13450
nop
call fcn.02b3d440
jmp fcn.02c93220