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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x64]
cmp eax, dword [ecx + 8]
jbe 0x2ba2162
sub esp, 0xe4
mov ecx, dword [esp + 0xfc]
test ecx, ecx
jle 0x2ba0429
mov edx, dword [esp + 0xf4]
test edx, edx
je 0x2ba0430
test edx, 0x60
jne 0x2ba0430
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.02b83c50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xe8]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2ba03ee
mov dword [edx + 0x10], eax
jmp 0x2ba03f6
lea edi, [edx + 0x10]
call fcn.02b3e880
mov dword [esp], edx
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
call fcn.02b9f5d0
movzx eax, byte [esp + 8]
test al, al
jne 0x2ba0422
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xf4]
jmp 0x2ba0430
add esp, 0xe4
ret
mov edx, dword [esp + 0xf4]
mov edi, dword [esp + 0xe8]
mov dword [edi + 0xc], 0
mov ebx, dword [0x311e9a0]
test ebx, ebx
jne 0x2ba0451
mov dword [edi + 0x10], 0
jmp 0x2ba0461
lea ebx, [edi + 0x10]
xor eax, eax
mov ebp, edi
mov edi, ebx
call fcn.02b3e880
mov edi, ebp
mov dword [edi + 0x1c], edx
mov ebx, dword [0x311e9a0]
test ebx, ebx
jne 0x2ba0484
mov ebx, dword [esp + 0xec]
mov dword [edi + 0x14], ebx
mov ebp, dword [esp + 0xf0]
mov dword [edi + 0x18], ebp
jmp 0x2ba04b1
lea ebx, [edi + 0x14]
mov eax, dword [esp + 0xec]
mov ebp, edi
mov edi, ebx
call fcn.02b3e880
lea edi, [ebp + 0x18]
mov ebx, eax
mov eax, dword [esp + 0xf0]
call fcn.02b3e880
mov ebp, eax
mov edi, dword [esp + 0xe8]
nop
mov esi, edx
and edx, 0x1f
cmp edx, 0x10
jbe 0x2ba1227
cmp edx, 0x15
ja 0x2ba0a42
cmp edx, 0x13
ja 0x2ba04dc
cmp edx, 0x11
je 0x2ba0a54
jmp 0x2ba11ab
cmp edx, 0x14
je 0x2ba07e1
movzx edx, byte [edi + 0x2c]
test dl, dl
jne 0x2ba057d
nop
mov edx, dword [edi + 4]
mov eax, ecx
lea ecx, [edx + 4]
mov esi, dword [edi + 8]
mov ebp, dword [edi]
cmp esi, ecx
jae 0x2ba054e
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.02b27650
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xec]
mov edi, dword [esp + 0xe8]
mov dword [ebp + edx], 0x5b70616d
mov dword [edi + 4], ecx
mov dword [edi + 8], esi
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2ba056d
mov dword [edi], ebp
jmp 0x2ba0724
mov ecx, eax
mov eax, ebp
call fcn.02b3e880
mov eax, ecx
jmp 0x2ba0724
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0xe8]
mov edx, dword [ecx + 4]
mov dword [esp + 0x7c], edx
lea ebx, [eax + edx]
mov dword [esp + 0x78], ebx
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x2ba0606
mov dword [esp + 0x90], ebp
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x74], esi
mov dword [esp + 0xac], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.02b3f220
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xe8]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ba064e
mov edx, dword [esp + 0xac]
mov dword [edi], edx
jmp 0x2ba0665
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.02b3e880
mov eax, edx
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xf4]
test ebx, 0x200
je 0x2ba067d
mov ebp, dword [esp + 0xf0]
jmp 0x2ba06b0
test ebx, 0x80
je 0x2ba0691
mov ebp, dword [esp + 0xf0]
mov esi, dword [ebp]
jmp 0x2ba069a
mov ebp, dword [esp + 0xf0]
mov esi, ebp
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
xchg esi, eax
test al, al
xchg esi, eax
jne 0x2ba0765
nop
mov esi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x44]
lea ebx, [ebx + esi + 1]
cmp ecx, ebx
jae 0x2ba0713
lea ebp, [0x2d0e7c0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xe8]
mov dword [edi + 8], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ba0703
mov dword [edi], eax
jmp 0x2ba0708
call fcn.02b3e880
mov ebp, dword [esp + 0xf0]
mov edx, eax
mov eax, ecx
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 8], eax
call fcn.02b8fa00
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
test ecx, ecx
jle 0x2ba1dfc
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x84], eax
xor ebx, ebx
jmp 0x2ba1ef2
nop
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x44]
lea ebx, [ebp + ebx + 5]
cmp ecx, ebx
jae 0x2ba07b3
mov dword [esp + 0x7c], ebx
lea ebp, [0x2d0e7c0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edx, edi
mov ecx, esi
mov edi, dword [esp + 0xe8]
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2ba07d3
mov dword [edi], edx
jmp 0x2ba07da
mov eax, edx
call fcn.02b3e880
add esp, 0xe4
ret
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.02b83850
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x2ba0a0b
mov edi, dword [esp + 0xe8]
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x2ba0891
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jae 0x2ba0861
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], edx
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.02b27650
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0xe8]
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2ba0885
mov dword [edi], ebp
jmp 0x2ba1571
mov eax, ebp
call fcn.02b3e880
jmp 0x2ba1571
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 8], eax
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0xe8]
mov edx, dword [ecx + 4]
mov dword [esp + 0x7c], edx
lea ebx, [edx + eax]
mov dword [esp + 0x78], ebx
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x2ba092f
mov dword [esp + 0x88], ebp
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x88]
mov dword [esp + 0x74], esi
mov dword [esp + 0xac], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.02b3f220
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xe8]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0x311e9a0]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x48]
lea ebx, [ebp + ebx + 5]
test edx, edx
jne 0x2ba0983
mov edx, dword [esp + 0xac]
mov dword [edi], edx
jmp 0x2ba099a
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.02b3e880
mov eax, edx
mov edx, dword [esp + 0xac]
nop
cmp ecx, ebx
jae 0x2ba09dc
mov dword [esp + 0x7c], ebx
lea ebp, [0x2d0e7c0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edx, edi
mov ecx, esi
mov edi, dword [esp + 0xe8]
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2ba09ff
mov dword [edi], edx
jmp 0x2ba1571
mov eax, edx
call fcn.02b3e880
jmp 0x2ba1571
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xfc]
inc eax
mov dword [esp + 0x14], eax
call fcn.02ba0360
jmp 0x2ba1571
cmp edx, 0x17
ja 0x2ba1014
cmp edx, 0x16
je 0x2ba0e9d
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0xf8]
cmp eax, 0x71
jg 0x2ba0a73
cmp eax, 0x58
je 0x2ba0a81
cmp eax, 0x71
je 0x2ba0a81
jmp 0x2ba0c14
cmp eax, 0x73
je 0x2ba0a81
cmp eax, 0x78
jne 0x2ba0c14
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x80], ecx
mov edx, dword [eax + 0x28]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
jne 0x2ba0be6
mov eax, dword [esp + 0x70]
cmp eax, 0x17
je 0x2ba0bb0
mov eax, dword [esp + 0xf4]
test eax, 0x100
jne 0x2ba0b30
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov edx, dword [esp + 0xf0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.02b83de0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x68], eax
lea ecx, [0x2d0e7c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.02b274d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa8], eax
xor ecx, ecx
jmp 0x2ba1cef
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov edx, dword [esp + 0xf0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.02b83de0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call fcn.02b85660
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.02b82960
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x2ba1c6d
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 8], eax
call fcn.02b82960
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x2ba1c6d
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0xf0]
mov esi, dword [esp + 0xf4]
mov edi, dword [esp + 0xe8]
movzx edx, byte [edi + 0x2c]
test dl, dl
jne 0x2ba0c93
mov edx, dword [edi + 4]
lea ecx, [edx + 1]
mov eax, dword [edi]
mov esi, dword [edi + 8]
cmp esi, ecx
jae 0x2ba0c82
lea ebx, [0x2d0e7c0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.02b27650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xe8]
mov dword [edi + 8], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ba0c6d
mov dword [edi], eax
jmp 0x2ba0c72
call fcn.02b3e880
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0xf0]
mov edx, ecx
lea ecx, [edx + 1]
mov dword [edi + 4], ecx
mov byte [eax + edx], 0x5b
xor eax, eax
jmp 0x2ba1b58
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0xe8]
mov edx, dword [ecx + 4]
mov dword [esp + 0x7c], edx
lea ebx, [eax + edx]
mov dword [esp + 0x78], ebx
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x2ba0d1c
mov dword [esp + 0x8c], ebp
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0xac], edi
mov dword [esp + 0x74], esi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.02b3f220
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xe8]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ba0d64
mov edx, dword [esp + 0xac]
mov dword [edi], edx
jmp 0x2ba0d7b
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.02b3e880
mov eax, edx
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x70]
cmp ebx, 0x17
jne 0x2ba0e23
mov ebx, dword [esp + 0xf0]
mov ebp, dword [ebx]
test ebp, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
xor ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x2ba0e2a
nop
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x4c]
lea ebx, [ebp + ebx + 5]
cmp ecx, ebx
jae 0x2ba0df5
mov dword [esp + 0x7c], ebx
lea ebp, [0x2d0e7c0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edx, edi
mov ecx, esi
mov edi, dword [esp + 0xe8]
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2ba0e15
mov dword [edi], edx
jmp 0x2ba0e1c
mov eax, edx
call fcn.02b3e880
add esp, 0xe4
ret
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x4c]
lea ebp, [esi + ebp + 1]
cmp ecx, ebp
jae 0x2ba0e8c
lea ebx, [0x2d0e7c0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xe8]
mov dword [edi + 8], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ba0e7c
mov dword [edi], eax
jmp 0x2ba0e81
call fcn.02b3e880
mov ebx, dword [esp + 0xf0]
mov edx, eax
mov eax, ecx
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
xor eax, eax
jmp 0x2ba19ad
test ecx, ecx
je 0x2ba0ea5
xor eax, eax
jmp 0x2ba0ee1
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.02b84910
mov eax, dword [esp + 0xc]
test eax, eax
setne al
mov ecx, dword [esp + 0xfc]
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0xf0]
mov esi, dword [esp + 0xf4]
mov edi, dword [esp + 0xe8]
test al, al
je 0x2ba11ab
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.02b83850
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
nop
mov ebx, eax
and eax, 0x1f
cmp eax, 0x15
ja 0x2ba0f1f
cmp eax, 0x11
je 0x2ba0f2d
cmp eax, 0x15
je 0x2ba0f2d
jmp 0x2ba0ff3
cmp eax, 0x17
je 0x2ba0f2d
cmp eax, 0x19
jne 0x2ba0ff3
mov dword [esp + 0x70], ebx
nop
mov eax, dword [esp + 0xe8]
mov ebp, dword [eax + 4]
lea esi, [ebp + 1]
mov edi, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, esi
jae 0x2ba0fb3
mov dword [esp + 0xa8], edx
mov dword [esp + 0xa4], ecx
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.02b27650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xe8]
mov dword [edi + 8], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ba0f98
mov dword [edi], eax
jmp 0x2ba0f9d
call fcn.02b3e880
mov edx, dword [esp + 0xa8]
mov ebp, ecx
mov ecx, dword [esp + 0xa4]
mov ebx, eax
mov eax, edi
mov edi, ebx
lea ebx, [ebp + 1]
mov dword [eax + 4], ebx
mov byte [edi + ebp], 0x26
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xfc]
inc eax
mov dword [esp + 0x14], eax
call fcn.02ba0360
add esp, 0xe4
ret
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0xf0]
mov esi, dword [esp + 0xf4]
mov edi, dword [esp + 0xe8]
jmp 0x2ba11ab
cmp edx, 0x18
je 0x2ba11e8
cmp edx, 0x19
jne 0x2ba11a6
movzx eax, byte [edi + 0x2c]
test al, al
je 0x2ba112b
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xe8]
mov edx, dword [ecx + 4]
lea ebx, [eax + edx]
mov dword [esp + 0x7c], ebx
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x2ba10bb
mov dword [esp + 0x78], edx
mov dword [esp + 0x94], ebp
mov dword [esp + 0x40], eax
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x78], esi
mov dword [esp + 0xac], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.02b3f220
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0xe8]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 8], eax
mov eax, dword [0x311e9a0]
test eax, eax
jne 0x2ba1103
mov eax, dword [esp + 0xac]
mov dword [edi], eax
jmp 0x2ba110f
mov eax, dword [esp + 0xac]
call fcn.02b3e880
mov ecx, dword [esp + 0xfc]
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0xf0]
mov esi, dword [esp + 0xf4]
mov eax, dword [edi + 4]
lea edx, [eax + 1]
mov ecx, dword [edi]
mov esi, dword [edi + 8]
cmp esi, edx
jae 0x2ba1195
lea ebx, [0x2d0e7c0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call fcn.02b27650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xe8]
mov dword [edi + 8], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ba117c
mov dword [edi], eax
jmp 0x2ba1181
call fcn.02b3e880
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0xf0]
mov edx, eax
mov eax, ecx
mov ecx, edx
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov byte [ecx + eax], 0x7b
xor eax, eax
jmp 0x2ba15f4
cmp edx, 0x1a
jne 0x2ba11cf
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x10], eax
call fcn.02b9ed00
jmp 0x2ba1571
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.02b9d660
jmp 0x2ba1571
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.02b858a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xc], eax
call fcn.02b9e4b0
jmp 0x2ba1571
cmp edx, 0xc
ja 0x2ba149f
cmp edx, 1
ja 0x2ba13c2
test edx, edx
jne 0x2ba138a
test ecx, ecx
jne 0x2ba12f0
nop
mov eax, dword [edi + 4]
lea ecx, [eax + 0x17]
mov dword [esp + 0x7c], ecx
mov edx, dword [edi + 8]
mov ebx, dword [edi]
cmp edx, ecx
jae 0x2ba128b
mov dword [esp + 0x78], eax
lea ebp, [0x2d0e7c0]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.02b27650
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x78], edx
mov dword [esp + 0xac], ebx
add eax, ebx
mov dword [esp], eax
lea eax, [0x2d460fe]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.02b3f220
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0xe8]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 8], eax
mov eax, dword [0x311e9a0]
test eax, eax
jne 0x2ba12df
mov eax, dword [esp + 0xac]
mov dword [edi], eax
jmp 0x2ba1571
mov eax, dword [esp + 0xac]
call fcn.02b3e880
jmp 0x2ba1571
mov ecx, dword [esp + 0xf8]
cmp ecx, 0x76
jne 0x2ba1379
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jae 0x2ba1349
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.02b27650
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0xe8]
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2ba136d
mov dword [edi], ebp
jmp 0x2ba1571
mov eax, ebp
call fcn.02b3e880
jmp 0x2ba1571
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.02b9d8c0
jmp 0x2ba1571
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.02b828b0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov byte [esp + 4], al
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
call fcn.02b9dd90
jmp 0x2ba1571
cmp edx, 6
ja 0x2ba1436
cmp edx, 3
ja 0x2ba13e6
cmp edx, 2
jne 0x2ba13db
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x2ba1411
movsx eax, byte [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x2ba1411
cmp edx, 4
jne 0x2ba13f6
movsx eax, word [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x2ba1411
cmp edx, 5
jne 0x2ba1405
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x2ba1411
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov edx, eax
mov eax, ecx
mov ecx, edx
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov byte [esp + 0xc], 1
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x10], eax
call fcn.02b9de80
jmp 0x2ba1571
cmp edx, 9
ja 0x2ba145c
cmp edx, 7
jne 0x2ba1447
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x2ba147a
cmp edx, 8
jne 0x2ba1454
movzx eax, byte [ebp]
xor ecx, ecx
jmp 0x2ba147a
movzx eax, word [ebp]
xor ecx, ecx
jmp 0x2ba147a
cmp edx, 0xa
jne 0x2ba1468
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x2ba147a
cmp edx, 0xb
jne 0x2ba1475
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
jmp 0x2ba147a
mov eax, dword [ebp]
xor ecx, ecx
mov dword [esp], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov byte [esp + 0xc], 0
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x10], eax
call fcn.02b9de80
jmp 0x2ba1571
cmp edx, 0xe
ja 0x2ba1500
cmp edx, 0xd
jne 0x2ba14d8
movss xmm0, dword [ebp]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x10], eax
call fcn.02b9e190
jmp 0x2ba1571
movsd xmm0, qword [ebp]
mov dword [esp], edi
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x10], eax
call fcn.02b9e190
jmp 0x2ba1571
cmp edx, 0xf
jne 0x2ba1540
movss xmm0, dword [ebp]
movss xmm1, dword [ebp + 4]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
cvtss2sd xmm0, xmm1
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x18], eax
call fcn.02b9e2f0
jmp 0x2ba1571
movsd xmm0, qword [ebp]
movsd xmm1, qword [ebp + 8]
mov dword [esp], edi
movsd qword [esp + 4], xmm0
movsd qword [esp + 0xc], xmm1
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x18], eax
call fcn.02b9e2f0
add esp, 0xe4
ret
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov edx, dword [esp + 0xf0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.02b9d5c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xfc]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.02ba0360
mov eax, dword [esp + 0x64]
inc eax
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0xf0]
mov dword [esp + 0x64], eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0xf4]
mov dword [esp + 8], ecx
call fcn.02b84860
mov eax, dword [esp + 0x64]
cmp dword [esp + 0xc], eax
jle 0x2ba18c8
test eax, eax
jle 0x2ba1715
mov edi, dword [esp + 0xe8]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x2ba16ad
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jae 0x2ba1685
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.02b27650
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0xe8]
mov word [ebp + ecx], 0x202c
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2ba16a0
mov dword [edi], ebp
jmp 0x2ba171c
mov ecx, eax
mov eax, ebp
call fcn.02b3e880
mov eax, ecx
jmp 0x2ba171c
mov ecx, dword [edi + 4]
lea edx, [ecx + 1]
mov ebx, dword [edi]
mov ebp, dword [edi + 8]
cmp ebp, edx
jae 0x2ba1709
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.02b27650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xe8]
mov dword [edi + 8], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ba16fe
mov dword [edi], eax
jmp 0x2ba1703
call fcn.02b3e880
mov ebx, eax
mov eax, dword [esp + 0x64]
lea edx, [ecx + 1]
mov dword [edi + 4], edx
mov byte [ebx + ecx], 0x20
jmp 0x2ba171c
mov edi, dword [esp + 0xe8]
movzx ecx, byte [edi + 0x2b]
test cl, cl
jne 0x2ba1730
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x2ba1578
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 8], edx
call fcn.02b85990
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
call eax
lea edi, [esp + 0xb0]
lea esi, [esp + 8]
call fcn.02b3efae
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb0]
test eax, eax
je 0x2ba18b8
mov dword [esp + 0x50], eax
nop
mov edx, dword [esp + 0xe8]
mov ebx, dword [edx + 4]
mov dword [esp + 0x7c], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp esi, ebp
jae 0x2ba17f2
mov dword [esp + 0x98], ecx
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.02b27650
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0xac], edi
mov dword [esp + 0x74], esi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.02b3f220
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xe8]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0x311e9a0]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x50]
lea ebx, [ebp + ebx + 1]
test edx, edx
jne 0x2ba1846
mov edx, dword [esp + 0xac]
mov dword [edi], edx
jmp 0x2ba185d
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.02b3e880
mov eax, edx
mov edx, dword [esp + 0xac]
cmp ecx, ebx
jae 0x2ba18ac
lea ebp, [0x2d0e7c0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xe8]
mov dword [edi + 8], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ba18a3
mov dword [edi], eax
jmp 0x2ba18a8
call fcn.02b3e880
mov edx, eax
mov eax, ecx
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x3a
jmp 0x2ba18bf
mov edi, dword [esp + 0xe8]
mov eax, dword [esp + 0x64]
jmp 0x2ba1578
mov eax, dword [esp + 0xe8]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jae 0x2ba1929
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.02b27650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xe8]
mov dword [edi + 8], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ba1920
mov dword [edi], eax
jmp 0x2ba1925
call fcn.02b3e880
mov ebx, eax
mov eax, edi
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x2ba1571
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov edx, dword [esp + 0xf0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.02b83aa0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xfc]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.02ba0360
mov eax, dword [esp + 0x54]
inc eax
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov edx, dword [esp + 0xf4]
mov dword [esp + 8], edx
call fcn.02b83de0
mov eax, dword [esp + 0x54]
cmp dword [esp + 0xc], eax
jle 0x2ba1a6b
test eax, eax
jle 0x2ba1938
nop
mov edi, dword [esp + 0xe8]
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jae 0x2ba1a3d
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], edx
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.02b27650
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0xe8]
mov word [ebp + ecx], 0x202c
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2ba1a5b
mov dword [edi], ebp
jmp 0x2ba1938
mov ecx, eax
mov eax, ebp
call fcn.02b3e880
mov eax, ecx
jmp 0x2ba1938
nop
mov eax, dword [esp + 0xe8]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jae 0x2ba1acd
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.02b27650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xe8]
mov dword [edi + 8], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ba1ac4
mov dword [edi], eax
jmp 0x2ba1ac9
call fcn.02b3e880
mov ebx, eax
mov eax, edi
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x2ba1571
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov edx, dword [esp + 0xf0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.02b83aa0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xfc]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.02ba0360
mov eax, dword [esp + 0x60]
inc eax
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0xf0]
mov dword [esp + 0x60], eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0xf4]
mov dword [esp + 8], ecx
call fcn.02b83de0
mov eax, dword [esp + 0x60]
cmp dword [esp + 0xc], eax
jle 0x2ba1bfc
test eax, eax
jle 0x2ba1adc
mov ecx, dword [esp + 0xe8]
mov edx, dword [ecx + 4]
lea ebx, [edx + 1]
mov ebp, dword [ecx]
mov esi, dword [ecx + 8]
cmp esi, ebx
jae 0x2ba1bec
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.02b27650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xe8]
mov dword [edi + 8], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ba1bdd
mov dword [edi], eax
jmp 0x2ba1be2
call fcn.02b3e880
mov edx, ecx
mov ebp, eax
mov eax, dword [esp + 0x60]
mov ecx, edi
lea ebx, [edx + 1]
mov dword [ecx + 4], ebx
mov byte [ebp + edx], 0x20
jmp 0x2ba1adc
nop
mov eax, dword [esp + 0xe8]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jae 0x2ba1c5e
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.02b27650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xe8]
mov dword [edi + 8], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ba1c55
mov dword [edi], eax
jmp 0x2ba1c5a
call fcn.02b3e880
mov ebx, eax
mov eax, edi
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x5d
jmp 0x2ba1571
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x9c], eax
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 0x80]
mov ebp, dword [esp + 0x80]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.02b9e650
add esp, 0xe4
ret
mov ebx, dword [esp + 0xa8]
mov byte [ebx + eax], dl
lea edx, [eax + 1]
mov eax, ebx
mov ecx, edx
mov edx, dword [esp + 0x68]
cmp ecx, edx
jge 0x2ba1db6
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov edx, dword [esp + 0xf0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.02b83aa0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x70], eax
cmp eax, 9
ja 0x2ba1d77
cmp eax, 7
jne 0x2ba1d4f
mov edx, dword [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jmp 0x2ba1dae
cmp eax, 8
jne 0x2ba1d63
movzx edx, byte [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jmp 0x2ba1dae
cmp eax, 9
jne 0x2ba1dc2
movzx edx, word [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jmp 0x2ba1dae
cmp eax, 0xa
jne 0x2ba1d8a
mov edx, dword [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jmp 0x2ba1dae
cmp eax, 0xb
jne 0x2ba1d9d
mov edx, dword [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jmp 0x2ba1dae
cmp eax, 0xc
jne 0x2ba1dc2
mov edx, dword [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jb 0x2ba1cde
jmp 0x2ba1dbd
mov ecx, edx
jmp 0x2ba1c6d
call fcn.02b3e900
lea eax, [0x2d1d080]
mov dword [esp], eax
call fcn.02aeb620
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x2d43ea8]
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], ecx
lea ecx, [0x2d141a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.02b13450
mov eax, dword [esp + 0xe8]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x2ba1e75
nop
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jae 0x2ba1e66
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.02b27650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xe8]
mov dword [edi + 8], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ba1e5d
mov dword [edi], eax
jmp 0x2ba1e62
call fcn.02b3e880
mov ebx, eax
mov eax, edi
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x2ba1571
nop
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jae 0x2ba1ed0
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.02b27650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xe8]
mov dword [edi + 8], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ba1ec7
mov dword [edi], eax
jmp 0x2ba1ecc
call fcn.02b3e880
mov ebx, eax
mov eax, edi
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x5d
jmp 0x2ba1571
mov ebp, dword [esp + 0xa0]
lea edx, [ebp + 0xc]
mov ebx, eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x58], ebx
mov ebp, dword [edx + 4]
mov esi, dword [edx + 8]
mov edi, edx
mov edx, dword [edx]
test ebx, ebx
jle 0x2ba2055
mov dword [esp + 0x70], esi
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xa4], edx
mov ecx, dword [esp + 0xe8]
movzx ebx, byte [ecx + 0x2c]
test bl, bl
je 0x2ba1fc2
nop
mov ebx, dword [ecx + 4]
lea esi, [ebx + 2]
mov ebp, dword [ecx + 8]
mov edx, dword [ecx]
cmp ebp, esi
jae 0x2ba1f8f
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], esi
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.02b27650
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xa0]
mov word [edx + ebx], 0x202c
mov dword [ecx + 4], esi
mov dword [ecx + 8], ebp
mov ebx, dword [0x311e9a0]
test ebx, ebx
jne 0x2ba1fac
mov dword [ecx], edx
jmp 0x2ba2043
mov ebx, edi
mov edi, ecx
mov ebp, eax
mov eax, edx
call fcn.02b3e880
mov eax, ebp
mov edi, ebx
jmp 0x2ba2043
nop
mov ebx, dword [ecx + 4]
lea edi, [ebx + 1]
mov eax, dword [ecx]
mov esi, dword [ecx + 8]
cmp esi, edi
jae 0x2ba202b
lea ecx, [0x2d0e7c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
call fcn.02b27650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xe8]
mov dword [edi + 8], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ba2014
mov dword [edi], eax
jmp 0x2ba2019
call fcn.02b3e880
mov edx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa8]
mov ebx, ecx
mov ecx, edi
lea esi, [ebx + 1]
mov dword [ecx + 4], esi
mov byte [eax + ebx], 0x20
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0xfc]
lea ebx, [edx + 1]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x14], ebx
call fcn.02ba0360
nop
mov eax, dword [esp + 0xe8]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jae 0x2ba20ef
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.02b27650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xe8]
mov dword [edi + 8], edx
mov edx, dword [0x311e9a0]
test edx, edx
jne 0x2ba20e6
mov dword [edi], eax
jmp 0x2ba20eb
call fcn.02b3e880
mov ebx, eax
mov eax, edi
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x3a
mov edx, dword [esp + 0x84]
mov ebx, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
mov ebp, dword [esp + 0x58]
cmp ebp, ecx
jae 0x2ba215a
lea ecx, [ebp + ebp*2]
mov edx, dword [ebx + ecx*4]
mov esi, dword [ebx + ecx*4 + 4]
mov ecx, dword [ebx + ecx*4 + 8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x14], edx
call fcn.02ba0360
mov eax, dword [esp + 0x58]
inc eax
mov ecx, dword [esp + 0x7c]
cmp ecx, eax
jg 0x2ba1edf
jmp 0x2ba1dfc
mov eax, ebp
call fcn.02b3e900
nop
call fcn.02b3d440
jmp fcn.02ba0360