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

Disassembly:
push 0xffffffffffffffff
push 0x2af6401
mov eax, dword fs:[0]
push eax
sub esp, 0xc4
mov eax, dword [0x2b197a0]
xor eax, esp
mov dword [esp + 0xc0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x2b197a0]
xor eax, esp
push eax
lea eax, [esp + 0xd8]
mov dword fs:[0], eax
mov edi, edx
xor ebx, ebx
mov esi, ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3c], edi
cmp edi, ebx
je 0x2a50d08
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x2a4fc86
sub eax, edx
sar eax, 1
je 0x2a50d08
push ecx
mov eax, esp
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
mov dword [eax], edi
call fcn.02a3cad0
push ecx
mov dword [esp + 0xe4], ebx
mov eax, esp
lea edi, [esp + 0x48]
mov dword [esp + 0x1c], esp
mov dword [eax], 0x2b0b8b4
call fcn.02a38cf0
test al, al
je 0x2a50cf3
push ecx
mov eax, esp
mov dword [eax], 0x2b0b8b8
lea eax, [esp + 0xbc]
mov ecx, edi
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0xfc], 1
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0xdc]
xor eax, eax
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push edx
mov word [ecx + 4], ax
call fcn.02a32510
push esi
call fcn.02a50ea0
push ecx
mov eax, esp
mov dword [eax], 0x2b0b8bc
lea eax, [esp + 0x24]
mov ecx, edi
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x14], ebx
mov ebp, 8
seta bl
cmp dword [esp + 0x38], ebp
jb 0x2a4fd5a
mov eax, dword [esp + 0x24]
push eax
call fcn.02a9b828
add esp, 4
test bl, bl
je 0x2a4fd9d
push ecx
mov eax, esp
mov dword [eax], 0x2b0b8bc
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x18], ebp
jb 0x2a4fd82
mov eax, dword [eax + 4]
jmp 0x2a4fd85
add eax, 4
push eax
call fcn.02a9e826
add esp, 4
lea ecx, [esp + 0x20]
mov dword [esi + 0xd0], eax
call fcn.02a36dc0
push ecx
mov eax, esp
mov dword [eax], 0x2b0b8c4
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x14], 0
seta bl
cmp dword [esp + 0x38], ebp
jb 0x2a4fdd1
mov ecx, dword [esp + 0x24]
push ecx
call fcn.02a9b828
add esp, 4
test bl, bl
je 0x2a4fe3d
push ecx
mov eax, esp
mov dword [eax], 0x2b0b8c4
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x18], ebp
jb 0x2a4fdf9
mov eax, dword [eax + 4]
jmp 0x2a4fdfc
add eax, 4
push eax
call fcn.02a9e826
mov edi, dword [esp + 0x20]
add esp, 4
lea ecx, [esp + 0x20]
mov dword [edi], eax
call fcn.02a36dc0
call fcn.02a4f420
xor edx, edx
mov ecx, 0xa
div ecx
mov eax, dword [edi]
mov esi, 0xa
mov ecx, edx
cdq
idiv esi
mov esi, eax
xor eax, eax
cmp ecx, edx
setl al
add eax, esi
mov dword [edi], eax
mov esi, edi
push ecx
mov eax, esp
mov dword [eax], 0x2b0b8c8
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x14], 0
seta bl
cmp dword [esp + 0x38], ebp
jb 0x2a4fe71
mov ecx, dword [esp + 0x24]
push ecx
call fcn.02a9b828
add esp, 4
test bl, bl
je 0x2a4ff67
sub esp, 0x1c
mov dword [esp + 0x34], esp
mov eax, esp
push ecx
mov ecx, esp
mov dword [ecx], 0x2b0b8c8
lea ecx, [esp + 0x64]
mov esi, 0x2b0bb40
mov dword [esp + 0x38], esp
call fcn.02a3ca50
lea edx, [esp + 0x3c]
push edx
mov ecx, esi
call fcn.02a342e0
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp + 0x4c]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
add esp, 0x20
cmp eax, 1
jne 0x2a4ff06
xor edi, edi
lea esi, [esp + 0x20]
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a4fef1
mov eax, dword [eax + 4]
push eax
call fcn.02a9e826
mov ecx, dword [esp + 0x20]
mov dword [ecx + 8], eax
mov dword [ecx + 4], eax
jmp 0x2a4ff57
add eax, 4
push eax
call fcn.02a9e826
mov ecx, dword [esp + 0x20]
mov dword [ecx + 8], eax
mov dword [ecx + 4], eax
jmp 0x2a4ff57
cmp eax, 2
jne 0x2a4ff5a
xor edi, edi
lea esi, [esp + 0x20]
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a4ff20
mov eax, dword [eax + 4]
jmp 0x2a4ff23
add eax, 4
push eax
call fcn.02a9e826
mov ebx, dword [esp + 0x20]
add esp, 4
mov edi, 1
lea esi, [esp + 0x20]
mov dword [ebx + 4], eax
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a4ff4b
mov eax, dword [eax + 4]
jmp 0x2a4ff4e
add eax, 4
push eax
call fcn.02a9e826
mov dword [ebx + 8], eax
add esp, 4
lea esi, [esp + 0x20]
call fcn.02a35260
mov esi, dword [esp + 0x1c]
push ecx
mov eax, esp
mov dword [eax], 0x2b0b8cc
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x14], 0
seta bl
cmp dword [esp + 0x38], ebp
jb 0x2a4ff9b
mov eax, dword [esp + 0x24]
push eax
call fcn.02a9b828
add esp, 4
test bl, bl
je 0x2a4ffe2
push ecx
mov eax, esp
mov dword [eax], 0x2b0b8cc
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esi + 0xd8]
mov byte [esp + 0xec], 2
call fcn.02a32510
lea ecx, [esp + 0x20]
mov byte [esp + 0xe0], 1
call fcn.02a36dc0
push ecx
mov eax, esp
mov dword [eax], 0x2b0b8d4
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x14], 0
seta bl
cmp dword [esp + 0x38], ebp
jb 0x2a50016
mov ecx, dword [esp + 0x24]
push ecx
call fcn.02a9b828
add esp, 4
test bl, bl
je 0x2a50059
push ecx
mov eax, esp
mov dword [eax], 0x2b0b8d4
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x18], ebp
jb 0x2a5003e
mov eax, dword [eax + 4]
jmp 0x2a50041
add eax, 4
push eax
call fcn.02a9e826
add esp, 4
lea ecx, [esp + 0x20]
mov dword [esi + 0xcc], eax
call fcn.02a36dc0
push ecx
mov eax, esp
mov dword [eax], 0x2b0b8dc
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x14], 0
seta bl
cmp dword [esp + 0x38], ebp
jb 0x2a5008d
mov edx, dword [esp + 0x24]
push edx
call fcn.02a9b828
add esp, 4
test bl, bl
je 0x2a500e3
sub esp, 0x1c
mov dword [esp + 0x34], esp
mov eax, esp
push ecx
mov ecx, esp
mov dword [ecx], 0x2b0b8dc
lea ecx, [esp + 0x64]
mov dword [esp + 0x38], esp
call fcn.02a3ca50
lea edi, [esp + 0x3c]
call fcn.02a33ec0
add esp, 0x1c
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esi + 0x114]
mov byte [esp + 0xec], 3
call fcn.02a32250
mov ecx, edi
mov byte [esp + 0xe0], 1
call fcn.02a32330
push ecx
mov eax, esp
mov dword [eax], 0x2b0b8e8
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x14], 0
seta bl
cmp dword [esp + 0x38], ebp
jb 0x2a50117
mov eax, dword [esp + 0x24]
push eax
call fcn.02a9b828
add esp, 4
test bl, bl
je 0x2a5016d
sub esp, 0x1c
mov dword [esp + 0x34], esp
mov eax, esp
push ecx
mov ecx, esp
mov dword [ecx], 0x2b0b8e8
lea ecx, [esp + 0x64]
mov dword [esp + 0x38], esp
call fcn.02a3ca50
lea edi, [esp + 0x3c]
call fcn.02a33ec0
add esp, 0x1c
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esi + 0x130]
mov byte [esp + 0xec], 4
call fcn.02a32250
mov ecx, edi
mov byte [esp + 0xe0], 1
call fcn.02a32330
push ecx
mov eax, esp
mov dword [eax], 0x2b0b8f4
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esi + 0x40]
mov byte [esp + 0xec], 5
call fcn.02a32510
mov byte [esp + 0xe0], 1
cmp dword [esp + 0x38], ebp
jb 0x2a501b7
mov ecx, dword [esp + 0x24]
push ecx
call fcn.02a9b828
add esp, 4
push ecx
mov eax, esp
mov dword [eax], 0x2b0b8f8
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esi + 0x5c]
mov byte [esp + 0xec], 6
call fcn.02a32510
mov byte [esp + 0xe0], 1
cmp dword [esp + 0x38], ebp
jb 0x2a50201
mov edx, dword [esp + 0x24]
push edx
call fcn.02a9b828
add esp, 4
push ecx
mov eax, esp
mov dword [eax], 0x2b0b908
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x14], 0
seta bl
cmp dword [esp + 0x38], ebp
jb 0x2a50235
mov eax, dword [esp + 0x24]
push eax
call fcn.02a9b828
add esp, 4
test bl, bl
je 0x2a5032e
sub esp, 0x1c
mov dword [esp + 0x34], esp
mov eax, esp
push ecx
mov ecx, esp
mov dword [ecx], 0x2b0b908
lea ecx, [esp + 0x64]
mov esi, 0x2b0bb40
mov dword [esp + 0x38], esp
call fcn.02a3ca50
lea ecx, [esp + 0x3c]
push ecx
mov ecx, esi
call fcn.02a342e0
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp + 0x4c]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
add esp, 0x20
cmp eax, 1
jne 0x2a502bc
xor edi, edi
lea esi, [esp + 0x20]
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a502ae
mov eax, dword [eax + 4]
push eax
call fcn.02a9e826
add esp, 4
jmp 0x2a5031a
add eax, 4
push eax
call fcn.02a9e826
add esp, 4
jmp 0x2a5031a
cmp eax, 2
jne 0x2a50321
xor edi, edi
lea esi, [esp + 0x20]
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a502d6
mov eax, dword [eax + 4]
jmp 0x2a502d9
add eax, 4
push eax
call fcn.02a9e826
add esp, 4
mov edi, 1
lea esi, [esp + 0x20]
mov ebx, eax
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a502fc
mov eax, dword [eax + 4]
jmp 0x2a502ff
add eax, 4
push eax
call fcn.02a9e826
lea ecx, [eax - 1]
add esp, 4
cmp ecx, ebx
jle 0x2a50318
mov edi, ebx
call fcn.02a4f4a0
jmp 0x2a5031a
mov eax, ebx
mov edx, dword [esp + 0x1c]
mov dword [edx + 0x78], eax
lea esi, [esp + 0x20]
call fcn.02a35260
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x78]
push ecx
mov dword [esi + 0x7c], eax
mov eax, esp
mov dword [eax], 0x2b0b910
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x14], 0
seta bl
cmp dword [esp + 0x38], ebp
jb 0x2a50368
mov ecx, dword [esp + 0x24]
push ecx
call fcn.02a9b828
add esp, 4
test bl, bl
je 0x2a50461
sub esp, 0x1c
mov dword [esp + 0x34], esp
mov eax, esp
push ecx
mov ecx, esp
mov dword [ecx], 0x2b0b910
lea ecx, [esp + 0x64]
mov esi, 0x2b0bb40
mov dword [esp + 0x38], esp
call fcn.02a3ca50
lea edx, [esp + 0x3c]
push edx
mov ecx, esi
call fcn.02a342e0
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp + 0x4c]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
add esp, 0x20
cmp eax, 1
jne 0x2a503ef
xor edi, edi
lea esi, [esp + 0x20]
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a503e1
mov eax, dword [eax + 4]
push eax
call fcn.02a9e826
add esp, 4
jmp 0x2a5044d
add eax, 4
push eax
call fcn.02a9e826
add esp, 4
jmp 0x2a5044d
cmp eax, 2
jne 0x2a50454
xor edi, edi
lea esi, [esp + 0x20]
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a50409
mov eax, dword [eax + 4]
jmp 0x2a5040c
add eax, 4
push eax
call fcn.02a9e826
add esp, 4
mov edi, 1
lea esi, [esp + 0x20]
mov ebx, eax
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a5042f
mov eax, dword [eax + 4]
jmp 0x2a50432
add eax, 4
push eax
call fcn.02a9e826
lea edx, [eax - 1]
add esp, 4
cmp edx, ebx
jle 0x2a5044b
mov edi, ebx
call fcn.02a4f4a0
jmp 0x2a5044d
mov eax, ebx
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x7c], eax
lea esi, [esp + 0x20]
call fcn.02a35260
mov esi, dword [esp + 0x1c]
push ecx
mov eax, esp
mov dword [eax], 0x2b0b918
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x14], 0
seta bl
cmp dword [esp + 0x38], ebp
jb 0x2a50495
mov edx, dword [esp + 0x24]
push edx
call fcn.02a9b828
add esp, 4
test bl, bl
je 0x2a50591
sub esp, 0x1c
mov dword [esp + 0x34], esp
mov eax, esp
push ecx
mov ecx, esp
mov dword [ecx], 0x2b0b918
lea ecx, [esp + 0x64]
mov esi, 0x2b0bb40
mov dword [esp + 0x38], esp
call fcn.02a3ca50
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
call fcn.02a342e0
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp + 0x4c]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
add esp, 0x20
cmp eax, 1
jne 0x2a5051c
xor edi, edi
lea esi, [esp + 0x20]
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a5050e
mov eax, dword [eax + 4]
push eax
call fcn.02a9e826
add esp, 4
jmp 0x2a5057a
add eax, 4
push eax
call fcn.02a9e826
add esp, 4
jmp 0x2a5057a
cmp eax, 2
jne 0x2a50584
xor edi, edi
lea esi, [esp + 0x20]
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a50536
mov eax, dword [eax + 4]
jmp 0x2a50539
add eax, 4
push eax
call fcn.02a9e826
add esp, 4
mov edi, 1
lea esi, [esp + 0x20]
mov ebx, eax
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a5055c
mov eax, dword [eax + 4]
jmp 0x2a5055f
add eax, 4
push eax
call fcn.02a9e826
lea edx, [eax - 1]
add esp, 4
cmp edx, ebx
jle 0x2a50578
mov edi, ebx
call fcn.02a4f4a0
jmp 0x2a5057a
mov eax, ebx
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x80], eax
lea esi, [esp + 0x20]
call fcn.02a35260
mov esi, dword [esp + 0x1c]
push ecx
mov eax, esp
mov dword [eax], 0x2b0b920
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x14], 0
seta bl
cmp dword [esp + 0x38], ebp
jb 0x2a505c5
mov edx, dword [esp + 0x24]
push edx
call fcn.02a9b828
add esp, 4
test bl, bl
je 0x2a506c1
sub esp, 0x1c
mov dword [esp + 0x34], esp
mov eax, esp
push ecx
mov ecx, esp
mov dword [ecx], 0x2b0b920
lea ecx, [esp + 0x64]
mov esi, 0x2b0bb40
mov dword [esp + 0x38], esp
call fcn.02a3ca50
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
call fcn.02a342e0
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp + 0x4c]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
add esp, 0x20
cmp eax, 1
jne 0x2a5064c
xor edi, edi
lea esi, [esp + 0x20]
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a5063e
mov eax, dword [eax + 4]
push eax
call fcn.02a9e826
add esp, 4
jmp 0x2a506aa
add eax, 4
push eax
call fcn.02a9e826
add esp, 4
jmp 0x2a506aa
cmp eax, 2
jne 0x2a506b4
xor edi, edi
lea esi, [esp + 0x20]
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a50666
mov eax, dword [eax + 4]
jmp 0x2a50669
add eax, 4
push eax
call fcn.02a9e826
add esp, 4
mov edi, 1
lea esi, [esp + 0x20]
mov ebx, eax
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a5068c
mov eax, dword [eax + 4]
jmp 0x2a5068f
add eax, 4
push eax
call fcn.02a9e826
lea edx, [eax - 1]
add esp, 4
cmp edx, ebx
jle 0x2a506a8
mov edi, ebx
call fcn.02a4f4a0
jmp 0x2a506aa
mov eax, ebx
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x84], eax
lea esi, [esp + 0x20]
call fcn.02a35260
mov esi, dword [esp + 0x1c]
push ecx
mov eax, esp
mov dword [eax], 0x2b0b928
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x14], 0
seta bl
cmp dword [esp + 0x38], ebp
jb 0x2a506f5
mov edx, dword [esp + 0x24]
push edx
call fcn.02a9b828
add esp, 4
test bl, bl
je 0x2a507f1
sub esp, 0x1c
mov dword [esp + 0x34], esp
mov eax, esp
push ecx
mov ecx, esp
mov dword [ecx], 0x2b0b928
lea ecx, [esp + 0x64]
mov esi, 0x2b0bb40
mov dword [esp + 0x38], esp
call fcn.02a3ca50
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
call fcn.02a342e0
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp + 0x4c]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
add esp, 0x20
cmp eax, 1
jne 0x2a5077c
xor edi, edi
lea esi, [esp + 0x20]
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a5076e
mov eax, dword [eax + 4]
push eax
call fcn.02a9e826
add esp, 4
jmp 0x2a507da
add eax, 4
push eax
call fcn.02a9e826
add esp, 4
jmp 0x2a507da
cmp eax, 2
jne 0x2a507e4
xor edi, edi
lea esi, [esp + 0x20]
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a50796
mov eax, dword [eax + 4]
jmp 0x2a50799
add eax, 4
push eax
call fcn.02a9e826
add esp, 4
mov edi, 1
lea esi, [esp + 0x20]
mov ebx, eax
call fcn.02a52a90
cmp dword [eax + 0x18], ebp
jb 0x2a507bc
mov eax, dword [eax + 4]
jmp 0x2a507bf
add eax, 4
push eax
call fcn.02a9e826
lea edx, [eax - 1]
add esp, 4
cmp edx, ebx
jle 0x2a507d8
mov edi, ebx
call fcn.02a4f4a0
jmp 0x2a507da
mov eax, ebx
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x88], eax
lea esi, [esp + 0x20]
call fcn.02a35260
mov esi, dword [esp + 0x1c]
push ecx
mov eax, esp
mov dword [eax], 0x2b0b930
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x14], 0
seta bl
cmp dword [esp + 0x38], ebp
jb 0x2a50825
mov edx, dword [esp + 0x24]
push edx
call fcn.02a9b828
add esp, 4
test bl, bl
je 0x2a50868
push ecx
mov eax, esp
mov dword [eax], 0x2b0b930
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x18], ebp
jb 0x2a5084d
mov eax, dword [eax + 4]
jmp 0x2a50850
add eax, 4
push eax
call fcn.02a9e826
add esp, 4
lea ecx, [esp + 0x20]
mov dword [esi + 0xd4], eax
call fcn.02a36dc0
lea eax, [esp + 0x44]
xor esi, esi
call fcn.02a39870
push ecx
mov eax, esp
lea edi, [esp + 0x48]
mov dword [esp + 0x1c], esp
mov dword [eax], 0x2b0b938
call fcn.02a38cf0
test al, al
je 0x2a508a3
mov eax, dword [esp + 0x50]
cmp dword [esp + 0x64], ebp
jae 0x2a5089b
lea eax, [esp + 0x50]
mov esi, dword [esp + 0x48]
sub esi, eax
sar esi, 1
push ecx
mov eax, esp
lea edi, [esp + 0x48]
mov dword [esp + 0x1c], esp
mov dword [eax], 0x2b0b93c
call fcn.02a38cf0
mov bl, al
test bl, bl
je 0x2a508d5
mov ecx, dword [esp + 0x50]
cmp dword [esp + 0x64], ebp
jae 0x2a508cd
lea ecx, [esp + 0x50]
mov eax, dword [esp + 0x48]
sub eax, ecx
jmp 0x2a508ed
mov eax, dword [esp + 0x3c]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x2a508e0
sub eax, edx
sar eax, 1
test esi, esi
jle 0x2a50938
cmp eax, esi
jle 0x2a50938
sub eax, esi
push eax
mov eax, dword [esp + 0x40]
lea ecx, [eax + esi*2]
push ecx
lea ecx, [esp + 0x28]
call fcn.02a34500
mov ecx, dword [esp + 0x1c]
push 0xffffffffffffffff
push 0
push eax
add ecx, 0xb0
mov byte [esp + 0xec], 7
call fcn.02a32510
lea ecx, [esp + 0x20]
mov byte [esp + 0xe0], 1
call fcn.02a36dc0
test bl, bl
je 0x2a509c5
push 0x1d0
call fcn.02a9b8b0
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0xe0], 8
test eax, eax
je 0x2a50967
push eax
call fcn.02a53e70
mov esi, eax
jmp 0x2a50969
xor esi, esi
mov byte [esp + 0xe0], 1
test esi, esi
je 0x2a509a7
push esi
lea ecx, [esp + 0x48]
call fcn.02a51290
mov edx, dword [esi]
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x24]
push ecx
add ebx, 0x8c
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], esi
call fcn.02a52b10
mov ebp, 8
push ecx
mov eax, esp
lea edi, [esp + 0x48]
mov dword [esp + 0x1c], esp
mov dword [eax], 0x2b0b93c
call fcn.02a38cf0
test al, al
jne 0x2a50940
push ecx
mov eax, esp
lea edi, [esp + 0x48]
mov dword [esp + 0x1c], esp
mov dword [eax], 0x2b0b940
call fcn.02a38cf0
test al, al
je 0x2a50c15
push ecx
mov eax, esp
mov dword [eax], 0x2b0b8c4
lea eax, [esp + 0x24]
mov ecx, edi
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x14], 0
lea ecx, [esp + 0x20]
seta bl
call fcn.02a36dc0
test bl, bl
je 0x2a50c15
mov edx, dword [esp + 0x1c]
push ecx
mov eax, esp
mov byte [edx + 0xad], 1
mov dword [eax], 0x2b0b8c4
lea eax, [esp + 0x24]
mov ecx, edi
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
mov byte [esp + 0xe0], 9
cmp dword [eax + 0x18], ebp
jb 0x2a50a48
mov esi, dword [eax + 4]
jmp 0x2a50a4b
lea esi, [eax + 4]
call fcn.02a52c90
mov ecx, esi
lea edi, [ecx + 2]
xor ebx, ebx
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x2a50a57
sub ecx, edi
sar ecx, 1
push ecx
push esi
lea ecx, [eax + 4]
call fcn.02a32890
lea ecx, [esp + 0x20]
mov byte [esp + 0xe0], 1
call fcn.02a36dc0
call fcn.02a52c90
push 0x54
mov byte [eax], 1
call fcn.02a9b8b0
add esp, 4
cmp eax, ebx
je 0x2a50ac2
mov dword [eax + 0x14], ebx
mov ecx, 7
mov dword [eax + 0x18], ecx
xor edx, edx
mov word [eax + 4], dx
mov dword [eax + 0x34], ecx
mov dword [eax + 0x30], ebx
mov word [eax + 0x20], dx
mov dword [eax + 0x50], ecx
xor ecx, ecx
mov dword [eax + 0x4c], ebx
mov word [eax + 0x3c], cx
mov esi, eax
jmp 0x2a50ac4
xor esi, esi
push ecx
mov eax, esp
mov dword [eax], 0x2b0b948
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x14], 0
lea ecx, [esp + 0x20]
seta bl
call fcn.02a36dc0
test bl, bl
je 0x2a50b31
push ecx
mov eax, esp
mov dword [eax], 0x2b0b948
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov byte [esp + 0xec], 0xa
call fcn.02a32510
lea ecx, [esp + 0x20]
mov byte [esp + 0xe0], 1
call fcn.02a36dc0
push ecx
mov eax, esp
mov dword [eax], 0x2b0b94c
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x14], 0
lea ecx, [esp + 0x20]
seta bl
call fcn.02a36dc0
test bl, bl
je 0x2a50b9f
push ecx
mov eax, esp
mov dword [eax], 0x2b0b94c
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esi + 0x1c]
mov byte [esp + 0xec], 0xb
call fcn.02a32510
lea ecx, [esp + 0x20]
mov byte [esp + 0xe0], 1
call fcn.02a36dc0
push ecx
mov eax, esp
mov dword [eax], 0x2b0b954
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
cmp dword [eax + 0x14], 0
lea ecx, [esp + 0x20]
seta bl
call fcn.02a36dc0
test bl, bl
je 0x2a50c0d
push ecx
mov eax, esp
mov dword [eax], 0x2b0b954
lea eax, [esp + 0x24]
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], esp
call fcn.02a3ca50
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esi + 0x38]
mov byte [esp + 0xec], 0xc
call fcn.02a32510
lea ecx, [esp + 0x20]
mov byte [esp + 0xe0], 1
call fcn.02a36dc0
call fcn.02a52c90
mov dword [eax + 0x20], esi
push ecx
mov eax, esp
lea edi, [esp + 0x48]
mov dword [esp + 0x1c], esp
mov dword [eax], 0x2b0b960
call fcn.02a38cf0
test al, al
je 0x2a50c98
lea esi, [esp + 0x20]
mov ecx, edi
call fcn.02a53e50
cmp dword [eax + 0x18], ebp
jb 0x2a50c44
mov eax, dword [eax + 4]
jmp 0x2a50c47
add eax, 4
mov ecx, eax
mov eax, 0x2b0b9b0
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x2a50c76
test dx, dx
je 0x2a50c72
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x2a50c76
add eax, 4
add ecx, 4
test dx, dx
jne 0x2a50c50
xor eax, eax
jmp 0x2a50c7b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
lea ecx, [esp + 0x20]
sete bl
call fcn.02a36dc0
test bl, bl
je 0x2a50c98
mov edx, dword [esp + 0x1c]
mov byte [edx + 0xac], 1
lea eax, [esp + 0x44]
call fcn.02a398b0
cmp dword [esp + 0xd0], ebp
jb 0x2a50cba
mov eax, dword [esp + 0xbc]
push eax
call fcn.02a9b828
add esp, 4
lea edx, [esp + 0x44]
xor ecx, ecx
push edx
mov dword [esp + 0xd4], 7
mov dword [esp + 0xd0], 0
mov word [esp + 0xc0], cx
mov dword [esp + 0xe4], 0xffffffff
call fcn.02a38ad0
mov al, 1
jmp 0x2a50d0a
lea eax, [esp + 0x44]
push eax
mov dword [esp + 0xe4], 0xffffffff
call fcn.02a38ad0
xor al, al
mov ecx, dword [esp + 0xd8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.02a9b567
add esp, 0xd0
ret