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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xb8]
cmp eax, dword [ecx + 8]
jbe 0x2b8acdd
sub esp, 0x138
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
mov ecx, dword [esp + 0x150]
mov dword [esp + 4], ecx
call fcn.02b8be10
mov eax, dword [esp + 8]
test eax, eax
jne 0x2b899d1
mov ecx, dword [esp + 0x14c]
jmp 0x2b8a369
mov dword [esp + 0x30], eax
lea ecx, [0x2d0e7c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.02b274d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x13c]
mov dword [esp], ecx
mov edx, dword [esp + 0x140]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x30]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
call fcn.02b67d10
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x2b8a34c
mov edx, dword [esp + 0x14c]
test edx, edx
je 0x2b8a33f
mov edx, dword [edx + 8]
cmp edx, 0x6b581726
ja 0x2b89ed7
cmp edx, 0x2069b53f
jbe 0x2b89c9e
cmp edx, 0x30c31d62
ja 0x2b89b8c
cmp edx, 0x20e38ee7
je 0x2b89b2e
cmp edx, 0x26b80717
je 0x2b89ac5
cmp edx, 0x30c31d62
jne 0x2b89ab9
mov edx, dword [esp + 0x14c]
lea ebx, [0x2d06500]
cmp edx, ebx
jne 0x2b8a346
mov ebx, dword [esp + 0x150]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x10c]
xor eax, eax
jmp 0x2b8acbe
mov edx, dword [esp + 0x14c]
jmp 0x2b8a346
mov ecx, dword [esp + 0x14c]
lea edx, [0x2d01b80]
cmp ecx, edx
jne 0x2b89b27
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x150]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x2b8a361
mov edx, ecx
jmp 0x2b8a346
mov edx, dword [esp + 0x14c]
lea ebx, [0x2d070c0]
cmp edx, ebx
jne 0x2b8a346
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x6c], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xfc], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x94]
jmp 0x2b8ac48
cmp edx, 0x382e7edf
jne 0x2b89bf4
mov ecx, dword [esp + 0x14c]
lea edx, [0x2d07180]
cmp ecx, edx
jne 0x2b89c97
mov edx, dword [esp + 0x150]
mov ebx, dword [edx + 4]
mov edx, dword [edx]
mov ebp, dword [esp + 0x30]
cmp ebx, ebp
jle 0x2b89bc1
mov eax, ebp
jmp 0x2b89bc5
mov eax, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x10c]
cmp edx, ebx
je 0x2b8a361
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.02b3f220
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14c]
jmp 0x2b8a361
cmp edx, 0x5fcadfef
jne 0x2b89c2d
mov ecx, dword [esp + 0x14c]
lea edx, [0x2d01bc0]
cmp ecx, edx
jne 0x2b89c97
mov edx, dword [esp + 0x10c]
movzx edx, byte [edx]
mov ebx, dword [esp + 0x150]
mov byte [ebx], dl
mov eax, dword [esp + 0x30]
jmp 0x2b8a361
cmp edx, 0x6b581726
jne 0x2b89c90
mov ecx, dword [esp + 0x14c]
lea edx, [0x2d01b40]
cmp ecx, edx
jne 0x2b89c97
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov dword [ecx], eax
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x2b8a361
mov ecx, dword [esp + 0x14c]
mov edx, ecx
jmp 0x2b8a346
cmp edx, 0x1e2f74f8
jbe 0x2b89df8
cmp edx, 0x1f1d91d4
jne 0x2b89d10
mov edx, dword [esp + 0x14c]
lea ebx, [0x2d07100]
cmp edx, ebx
jne 0x2b8a346
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x64], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xec], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x9c]
jmp 0x2b8ab99
cmp edx, 0x1ffee651
je 0x2b89d8a
cmp edx, 0x2069b53f
jne 0x2b89d7e
mov edx, dword [esp + 0x14c]
lea ebx, [0x2d07140]
cmp edx, ebx
jne 0x2b8a346
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x70], ebp
mov ebx, dword [ebx]
mov dword [esp + 0x100], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xa4], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xa4]
jmp 0x2b8aae7
mov edx, dword [esp + 0x14c]
jmp 0x2b8a346
mov ecx, dword [esp + 0x14c]
lea edx, [0x2d017c0]
cmp ecx, edx
jne 0x2b89df1
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x78], eax
movss xmm0, dword [esp + 0x78]
mov eax, dword [esp + 0x150]
movss dword [eax], xmm0
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x2b8a361
mov edx, ecx
jmp 0x2b8a346
cmp edx, 0xc66cd3
jne 0x2b89e5f
mov ecx, dword [esp + 0x14c]
lea edx, [0x2d04840]
cmp ecx, edx
jne 0x2b89ed0
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov dword [ecx], eax
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x2b8a361
cmp edx, 0x1e2f74f8
jne 0x2b89ec9
mov ecx, dword [esp + 0x14c]
lea edx, [0x2d04880]
cmp ecx, edx
jne 0x2b89ed0
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x150]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x2b8a361
mov ecx, dword [esp + 0x14c]
mov edx, ecx
jmp 0x2b8a346
cmp edx, 0x88768e96
jbe 0x2b8a145
cmp edx, 0xa066c615
jbe 0x2b8a02a
cmp edx, 0xba56ad13
je 0x2b89fae
cmp edx, 0xe781e5b1
jne 0x2b89f39
mov edx, dword [esp + 0x14c]
lea ebx, [0x2d05ac0]
cmp edx, ebx
jne 0x2b89f32
mov ebx, dword [esp + 0x150]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x10c]
xor eax, eax
jmp 0x2b8aa80
mov ecx, edx
jmp 0x2b8a33b
cmp edx, 0xee92f42e
jne 0x2b89fa2
mov ecx, dword [esp + 0x14c]
lea edx, [0x2d04800]
cmp ecx, edx
jne 0x2b8a33b
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov word [ecx], ax
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x2b8a361
mov ecx, dword [esp + 0x14c]
jmp 0x2b8a33b
mov ecx, dword [esp + 0x14c]
lea edx, [0x2d01800]
cmp ecx, edx
jne 0x2b8a33b
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], ecx
movsd xmm0, qword [esp + 0x84]
mov eax, dword [esp + 0x150]
movsd qword [eax], xmm0
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x2b8a361
cmp edx, 0x9ad926a8
je 0x2b8a114
cmp edx, 0x9c373330
jne 0x2b8a09f
mov edx, dword [esp + 0x14c]
lea ebx, [0x2d062c0]
cmp edx, ebx
jne 0x2b8a098
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x68], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xf4], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xac], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xac]
jmp 0x2b8a9ee
mov ecx, edx
jmp 0x2b8a33b
cmp edx, 0xa066c615
jne 0x2b8a108
mov ecx, dword [esp + 0x14c]
lea edx, [0x2d01b00]
cmp ecx, edx
jne 0x2b8a33b
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov word [ecx], ax
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x2b8a361
mov ecx, dword [esp + 0x14c]
jmp 0x2b8a33b
mov ecx, dword [esp + 0x14c]
lea edx, [0x2d048c0]
cmp ecx, edx
jne 0x2b8a33b
mov edx, dword [esp + 0x10c]
movzx edx, byte [edx]
mov eax, dword [esp + 0x150]
mov byte [eax], dl
mov eax, dword [esp + 0x30]
jmp 0x2b8a361
cmp edx, 0x734d2a16
ja 0x2b8a204
cmp edx, 0x6e0df0d1
je 0x2b8a1cb
cmp edx, 0x734d2a16
jne 0x2b8a1bf
mov edx, dword [esp + 0x14c]
lea ebx, [0x2d06480]
cmp edx, ebx
jne 0x2b8a339
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x58], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xf8], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xb4], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
jmp 0x2b8a940
mov edx, dword [esp + 0x14c]
jmp 0x2b8a339
mov ecx, dword [esp + 0x14c]
lea edx, [0x2d00280]
cmp ecx, edx
jne 0x2b8a1fd
mov edx, dword [esp + 0x10c]
movzx edx, byte [edx]
test dl, dl
setne dl
mov ebx, dword [esp + 0x150]
mov byte [ebx], dl
mov eax, dword [esp + 0x30]
jmp 0x2b8a361
mov edx, ecx
jmp 0x2b8a339
cmp edx, 0x7ad3bff0
jne 0x2b8a26a
mov edx, dword [esp + 0x14c]
lea ebx, [0x2d06280]
cmp edx, ebx
jne 0x2b8a339
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x54], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xf0], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xbc], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xbc]
jmp 0x2b8a88c
cmp edx, 0x8237d00c
jne 0x2b8a2d0
mov edx, dword [esp + 0x14c]
lea ebx, [0x2d06440]
cmp edx, ebx
jne 0x2b8a339
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x60], ebp
mov ebx, dword [ebx]
mov dword [esp + 0x104], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xc4], eax
xor eax, eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xc4]
jmp 0x2b8a7de
cmp edx, 0x88768e96
jne 0x2b8a332
mov edx, dword [esp + 0x14c]
lea ebx, [0x2d064c0]
cmp edx, ebx
jne 0x2b8a339
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x5c], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xe8], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xcc], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xcc]
jmp 0x2b8a72b
mov edx, dword [esp + 0x14c]
mov ecx, edx
mov edx, ecx
jmp 0x2b8a346
mov edx, dword [esp + 0x14c]
mov ecx, edx
xor eax, eax
jmp 0x2b8a361
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], edx
add esp, 0x138
ret
test eax, eax
jne 0x2b8a6c5
mov edx, dword [esp + 0x14c]
test edx, edx
je 0x2b8a3fc
nop
movzx ebx, byte [0x30f7930]
test bl, bl
je 0x2b8a3b7
mov dword [0x30f7934], ecx
mov ecx, dword [0x311e9a0]
test ecx, ecx
jne 0x2b8a3a3
mov eax, dword [esp + 0x150]
mov dword [0x30f7938], eax
jmp 0x2b8a3be
lea edi, [0x30f7938]
mov eax, dword [esp + 0x150]
call fcn.02b3e880
jmp 0x2b8a3be
mov eax, dword [esp + 0x150]
mov dword [esp + 0x110], edx
mov dword [esp + 0x114], eax
mov ecx, dword [esp + 0x110]
test ecx, ecx
je 0x2b8a3f2
nop
movzx ebx, byte [ecx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x2b8a3ee
or ebx, 0x80
mov ebp, eax
jmp 0x2b8a409
mov ebp, eax
xor ebx, ebx
xor ecx, ecx
xor eax, eax
jmp 0x2b8a409
mov ebp, dword [esp + 0x150]
xor ebx, ebx
xor ecx, ecx
xor eax, eax
nop
mov esi, ebx
and ebx, 0x1f
cmp ebx, 0x16
je 0x2b8a473
cmp ebx, 0x17
je 0x2b8a423
mov ebx, 0xffffffff
jmp 0x2b8a4dd
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x80], esi
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.02b8ade0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x150]
mov ebx, eax
mov esi, dword [esp + 0x80]
mov ecx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
jmp 0x2b8a4dd
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.02b83850
mov eax, dword [esp + 0xc]
mov dword [esp + 0x108], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x80], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.02b8ade0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x150]
mov ebx, eax
mov esi, dword [esp + 0x80]
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x10c]
test ebx, ebx
jge 0x2b8a5ab
mov dword [esp + 0x118], edx
mov dword [esp + 0x11c], ebp
mov eax, dword [esp + 0x118]
test eax, eax
je 0x2b8a506
lea ecx, [0x2dad164]
jmp 0x2b8a50a
xor ecx, ecx
xor eax, eax
mov ecx, dword [ecx + 0x80]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x2d47cda]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1a
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.02b2a990
mov eax, dword [esp + 0x14]
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], ecx
lea edx, [0x2d17160]
mov dword [esp], edx
call fcn.02aeb620
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x28]
mov dword [edi + 4], eax
mov eax, dword [0x311e9a0]
test eax, eax
jne 0x2b8a584
mov eax, dword [esp + 0xe4]
mov dword [edi], eax
jmp 0x2b8a590
mov eax, dword [esp + 0xe4]
call fcn.02b3e880
lea eax, [0x2da439c]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], edi
add esp, 0x138
ret
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0xe0], eax
mov dword [esp + 0xdc], ecx
lea eax, [0x2d0e7c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.02b274d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10c], eax
lea edi, [esp + 0x120]
xor eax, eax
call fcn.02b3eb1a
mov eax, dword [esp + 0x144]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x130], ecx
mov edx, dword [esp + 0x13c]
mov dword [esp], edx
mov edx, dword [esp + 0x140]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
call fcn.02b67d10
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
je 0x2b8a67b
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], edx
add esp, 0x138
ret
lea eax, [esp + 0x120]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
call fcn.02b8b320
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
add esp, 0x138
ret
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
add esp, 0x138
ret
mov ebp, dword [esp + 0xe8]
lea esi, [ebp + edx*8 + 4]
mov dword [esi], eax
lea eax, [ebp + edx*8]
mov dword [eax], ecx
lea eax, [edx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, edx
mov edx, dword [esp + 0x14c]
mov ebx, ebp
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x48]
cmp edx, ebp
jge 0x2b8a77f
shl edx, 3
cmp edi, edx
jb 0x2b8a796
mov ebx, dword [eax + 0x28]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x5c]
cmp edx, ebx
jb 0x2b8a6e2
jmp 0x2b8a78d
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x2b8a361
mov eax, edx
mov ecx, ebx
call fcn.02b3e900
mov eax, edx
mov ecx, edi
call fcn.02b3e960
mov ebx, dword [esp + 0x104]
mov word [ebx + ecx*2], ax
lea eax, [ecx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x40]
cmp edx, ebp
jge 0x2b8a82e
shl edx, 1
cmp edi, edx
jb 0x2b8a845
mov ebx, dword [eax + 0x20]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x60]
cmp ecx, edx
jb 0x2b8a79f
jmp 0x2b8a83c
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x2b8a361
mov eax, ecx
mov ecx, edx
call fcn.02b3e900
mov eax, edx
mov ecx, edi
call fcn.02b3e960
mov ebx, dword [esp + 0xf0]
movss dword [ebx + eax*4], xmm0
inc eax
mov esi, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x50]
cmp edx, ebp
jge 0x2b8a8e6
shl edx, 2
cmp edi, edx
jb 0x2b8a8f9
mov ebx, dword [eax + 0x24]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x74], eax
movss xmm0, dword [esp + 0x74]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
cmp eax, ecx
jb 0x2b8a84e
jmp 0x2b8a8f4
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x2b8a361
call fcn.02b3e900
mov eax, edx
mov ecx, edi
call fcn.02b3e960
mov ebx, dword [esp + 0xf8]
mov dword [ebx + ecx*4], eax
lea eax, [ecx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x3c]
cmp edx, ebp
jge 0x2b8a990
shl edx, 2
cmp edi, edx
jb 0x2b8a9a7
mov ebx, dword [eax + 0x24]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x58]
cmp ecx, edx
jb 0x2b8a902
jmp 0x2b8a99e
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x2b8a361
mov eax, ecx
mov ecx, edx
call fcn.02b3e900
mov eax, edx
mov ecx, edi
call fcn.02b3e960
mov ebx, dword [esp + 0xf4]
movsd qword [ebx + eax*8], xmm0
inc eax
mov esi, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x38]
cmp edx, ebp
jge 0x2b8aa59
shl edx, 3
cmp edi, edx
jb 0x2b8aa6c
mov ebx, dword [eax + 0x28]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], ecx
movsd xmm0, qword [esp + 0x8c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jb 0x2b8a9b0
jmp 0x2b8aa67
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x2b8a361
call fcn.02b3e900
mov eax, edx
mov ecx, edi
call fcn.02b3e960
test dl, dl
setne dl
mov byte [ebx + eax], dl
inc eax
mov edx, edi
cmp eax, ebp
jge 0x2b8aa90
mov edi, edx
movzx edx, byte [eax + esi]
cmp eax, ecx
jb 0x2b8aa75
jmp 0x2b8aa99
mov ecx, edx
mov eax, ebp
jmp 0x2b8a361
call fcn.02b3e900
mov ebp, dword [esp + 0x100]
lea esi, [ebp + edx*8 + 4]
mov dword [esi], eax
lea eax, [ebp + edx*8]
mov dword [eax], ecx
lea eax, [edx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, edx
mov edx, dword [esp + 0x14c]
mov ebx, ebp
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x34]
cmp edx, ebp
jge 0x2b8ab3b
shl edx, 3
cmp edi, edx
jb 0x2b8ab52
mov ebx, dword [eax + 0x28]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x70]
cmp edx, ebx
jb 0x2b8aa9e
jmp 0x2b8ab49
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x2b8a361
mov eax, edx
mov ecx, ebx
call fcn.02b3e900
mov eax, edx
mov ecx, edi
call fcn.02b3e960
mov ebx, dword [esp + 0xec]
mov dword [ebx + ecx*4], eax
lea eax, [ecx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x44]
cmp edx, ebp
jge 0x2b8abe9
shl edx, 2
cmp edi, edx
jb 0x2b8ac00
mov ebx, dword [eax + 0x24]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x64]
cmp ecx, edx
jb 0x2b8ab5b
jmp 0x2b8abf7
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x2b8a361
mov eax, ecx
mov ecx, edx
call fcn.02b3e900
mov eax, edx
mov ecx, edi
call fcn.02b3e960
mov ebx, dword [esp + 0xfc]
mov word [ebx + ecx*2], ax
lea eax, [ecx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x4c]
cmp edx, ebp
jge 0x2b8ac98
shl edx, 1
cmp edi, edx
jb 0x2b8acaf
mov ebx, dword [eax + 0x20]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jb 0x2b8ac09
jmp 0x2b8aca6
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x2b8a361
mov eax, ecx
mov ecx, edx
call fcn.02b3e900
mov eax, edx
mov ecx, edi
call fcn.02b3e960
mov byte [ebx + eax], dl
inc eax
mov edx, edi
cmp eax, ebp
jge 0x2b8acce
mov edi, edx
movzx edx, byte [eax + esi]
cmp eax, ecx
jb 0x2b8acb8
jmp 0x2b8acd7
mov ecx, edx
mov eax, ebp
jmp 0x2b8a361
call fcn.02b3e900
nop
call fcn.02b3d440
jmp fcn.02b89980