Function at 0x4aa230
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4e1380
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x50f52c]
xor eax, esp
mov dword [esp + 0xb4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x50f52c]
xor eax, esp
push eax
lea eax, [esp + 0xcc]
mov dword fs:[0], eax
mov ebx, dword [esp + 0xdc]
push 0x20
push 0xe
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], ebx
call fcn.004a4190
mov edi, dword [ebx + 0x10]
mov esi, eax
cmp dword [ebx + 0xc], edi
jbe 0x4aa292
call fcn.004b32e0
mov eax, dword [ebx + 0xc]
mov ebp, dword [ebx]
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 0x10]
jbe 0x4aa2a5
call fcn.004b32e0
mov eax, dword [ebx]
test ebp, ebp
je 0x4aa2af
cmp ebp, eax
je 0x4aa2b4
call fcn.004b32e0
sub edi, dword [esp + 0x14]
sar edi, 1
mov dword [esi + 8], edi
mov edi, dword [ebx + 0x28]
cmp dword [ebx + 0x24], edi
jbe 0x4aa2ca
call fcn.004b32e0
mov eax, dword [ebx + 0x24]
mov ebp, dword [ebx + 0x18]
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 0x28]
jbe 0x4aa2de
call fcn.004b32e0
mov eax, dword [ebx + 0x18]
test ebp, ebp
je 0x4aa2e9
cmp ebp, eax
je 0x4aa2ee
call fcn.004b32e0
sub edi, dword [esp + 0x14]
sar edi, 1
shr edi, 1
mov dword [esi + 0xc], edi
mov edi, dword [ebx + 0x50]
cmp dword [ebx + 0x4c], edi
jbe 0x4aa306
call fcn.004b32e0
mov ecx, ebx
mov ebx, dword [ecx + 0x4c]
mov ebp, dword [ecx + 0x40]
cmp ebx, dword [ecx + 0x50]
jbe 0x4aa31c
call fcn.004b32e0
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x40]
test ebp, ebp
je 0x4aa327
cmp ebp, eax
je 0x4aa330
call fcn.004b32e0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
sub edi, ebx
sar edi, 1
mov dword [esi + 0x10], edi
mov eax, dword [ecx + 0x34]
mov dword [esi + 0x14], eax
mov ecx, dword [ecx + 0x38]
mov dword [esi + 0x18], ecx
mov edx, dword [edx]
test dword [edx + 8], 0x100000
je 0x4aa392
mov edi, dword [esp + 0x18]
mov edx, dword [edi + 0x30]
mov ebx, eax
and ebx, edx
cmp ebx, edx
je 0x4aa36c
mov edx, dword [edi + 0x34]
mov ebx, eax
and ebx, edx
cmp ebx, edx
jne 0x4aa374
mov edx, dword [edi + 0x38]
or edx, eax
mov dword [esi + 0x14], edx
mov eax, dword [edi + 0x30]
mov edx, ecx
and edx, eax
cmp edx, eax
je 0x4aa38a
mov eax, dword [edi + 0x34]
mov edx, ecx
and edx, eax
cmp edx, eax
jne 0x4aa392
mov eax, dword [edi + 0x38]
or eax, ecx
mov dword [esi + 0x18], eax
mov edi, dword [esp + 0x28]
mov al, byte [edi + 0x30]
mov edx, dword [esp + 0x18]
mov byte [esi + 0x1c], al
cmp byte [edi + 0x31], 0
sete cl
mov byte [esi + 0x1d], cl
mov eax, dword [edx]
sub esi, dword [eax + 0x12c]
mov dword [esp + 0x40], esi
mov esi, dword [edi + 0xc]
cmp esi, dword [edi + 0x10]
jbe 0x4aa3c3
call fcn.004b32e0
mov ebp, dword [edi]
mov ebx, esi
mov esi, dword [edi + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], esi
cmp dword [edi + 0xc], esi
jbe 0x4aa3dc
call fcn.004b32e0
mov ecx, dword [edi]
mov dword [esp + 0x2c], ecx
test ebp, ebp
je 0x4aa3ec
cmp ebp, dword [esp + 0x2c]
je 0x4aa3f1
call fcn.004b32e0
cmp ebx, esi
je 0x4aa541
test ebp, ebp
jne 0x4aa4f9
call fcn.004b32e0
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4aa412
call fcn.004b32e0
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov eax, dword [esi + 0x130]
mov ecx, dword [esi + 0x128]
xor edx, edx
cmp byte [ebx + 1], dl
setne dl
add esi, 0x128
sub ecx, eax
add edx, 2
mov edi, edx
cmp ecx, edi
jae 0x4aa449
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.004b2540
mov ebp, dword [esi + 8]
mov ecx, dword [esp + 0x1c]
add edi, ebp
mov dword [esi + 8], edi
test ecx, ecx
jne 0x4aa501
call fcn.004b32e0
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4aa476
call fcn.004b32e0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov al, byte [ebx]
je 0x4aa491
mov edx, dword [edx + 4]
mov edx, dword [edx]
movzx eax, al
mov al, byte [edx + eax + 0x104]
mov byte [ebp], al
test ecx, ecx
jne 0x4aa508
call fcn.004b32e0
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4aa4b1
call fcn.004b32e0
mov ecx, dword [esp + 0x1c]
cmp byte [ebx + 1], 0
je 0x4aa510
test ecx, ecx
jne 0x4aa50c
call fcn.004b32e0
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4aa4d4
call fcn.004b32e0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov al, byte [ebx + 1]
je 0x4aa4f0
mov edx, dword [edx + 4]
mov edx, dword [edx]
movzx eax, al
mov al, byte [edx + eax + 0x104]
mov byte [ebp + 1], al
mov byte [ebp + 2], 0
jmp 0x4aa514
mov eax, dword [ebp]
jmp 0x4aa408
mov eax, dword [ecx]
jmp 0x4aa468
mov eax, dword [ecx]
jmp 0x4aa4a3
mov eax, dword [ecx]
jmp 0x4aa4c6
mov byte [ebp + 1], 0
test ecx, ecx
jne 0x4aa53d
call fcn.004b32e0
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4aa529
call fcn.004b32e0
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebx, 2
jmp 0x4aa3e2
mov eax, dword [ecx]
jmp 0x4aa51f
mov esi, dword [edi + 0x24]
cmp esi, dword [edi + 0x28]
jbe 0x4aa54e
call fcn.004b32e0
mov eax, dword [edi + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x28]
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], eax
cmp dword [edi + 0x24], eax
jbe 0x4aa56a
call fcn.004b32e0
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x44], ecx
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x4aa57f
cmp esi, dword [esp + 0x44]
je 0x4aa584
call fcn.004b32e0
mov edi, dword [esp + 0x20]
cmp edi, dword [esp + 0x3c]
je 0x4aad8d
test esi, esi
jne 0x4aa5e0
call fcn.004b32e0
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x4aa5a7
call fcn.004b32e0
mov ebp, dword [esp + 0x18]
mov al, byte [ebp + 0xc]
mov cl, byte [edi]
mov bl, byte [edi + 1]
mov edx, dword [ebp + 4]
test al, al
je 0x4aa5ca
mov esi, dword [edx]
movzx ecx, cl
mov cl, byte [ecx + esi + 0x104]
mov esi, dword [esp + 0x1c]
mov byte [esp + 0x34], cl
test al, al
je 0x4aa5e4
mov edx, dword [edx]
movzx eax, bl
mov al, byte [eax + edx + 0x104]
jmp 0x4aa5e6
mov eax, dword [esi]
jmp 0x4aa59d
mov al, bl
mov byte [esp + 0x35], al
test esi, esi
jne 0x4aa646
call fcn.004b32e0
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x4aa5ff
call fcn.004b32e0
add edi, 2
test esi, esi
jne 0x4aa64a
call fcn.004b32e0
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x4aa617
call fcn.004b32e0
mov al, byte [ebp + 0xc]
mov cl, byte [edi]
mov edx, dword [ebp + 4]
test al, al
je 0x4aa62f
mov esi, dword [edx]
movzx ecx, cl
mov cl, byte [ecx + esi + 0x104]
mov byte [esp + 0x2c], cl
test al, al
je 0x4aa64e
movzx eax, byte [edi + 1]
mov edx, dword [edx]
mov al, byte [eax + edx + 0x104]
jmp 0x4aa651
mov eax, dword [esi]
jmp 0x4aa5f5
mov eax, dword [esi]
jmp 0x4aa60d
mov al, byte [edi + 1]
mov byte [esp + 0x2d], al
mov eax, dword [esp + 0x1c]
xor ebp, ebp
cmp eax, ebp
jne 0x4aa89b
call fcn.004b32e0
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x4aa674
call fcn.004b32e0
add edi, 2
mov eax, 0xf
mov dword [esp + 0x20], edi
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], ebp
mov byte [esp + 0xb0], 0
mov dword [esp + 0xd4], ebp
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], ebp
mov byte [esp + 0x78], 0
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
test dword [ecx + 8], 0x200000
mov ebx, 1
mov byte [esp + 0xd4], bl
je 0x4aa8a2
movzx edx, byte [esp + 0x34]
mov al, byte [esp + 0x35]
mov cl, byte [esp + 0x2c]
mov byte [esp + 0x14], dl
movzx edx, byte [esp + 0x2d]
mov byte [esp + 0x15], al
test al, al
mov byte [esp + 0x16], 0
mov byte [esp + 0x24], cl
mov byte [esp + 0x25], dl
mov byte [esp + 0x26], 0
lea eax, [esp + 0x16]
jne 0x4aa707
lea eax, [esp + 0x15]
push eax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x98]
push ecx
mov ecx, dword [esi + 4]
call fcn.004a4740
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 2
call fcn.00402750
mov edi, 0x10
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x4aa75a
mov edx, dword [esp + 0x94]
push edx
call fcn.004b29fa
add esp, 4
cmp byte [esp + 0x25], 0
lea eax, [esp + 0x26]
jne 0x4aa769
lea eax, [esp + 0x25]
push eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x98]
push ecx
mov ecx, dword [esi + 4]
call fcn.004a4740
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x80]
mov byte [esp + 0xe0], 3
call fcn.00402750
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x4aa7b7
mov edx, dword [esp + 0x94]
push edx
call fcn.004b29fa
add esp, 4
cmp dword [esp + 0xc0], ebp
jne 0x4aa821
mov dword [esp + 0xa8], 0xf
mov byte [esp + 0x94], 0
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x95], 0
push 0xffffffffffffffff
push ebp
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 4
call fcn.00402750
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x4aa821
mov ecx, dword [esp + 0x94]
push ecx
call fcn.004b29fa
add esp, 4
mov edi, dword [esp + 0x88]
cmp edi, ebp
jne 0x4aaab1
mov dword [esp + 0xa8], 0xf
mov byte [esp + 0x94], 0
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x95], 0
push 0xffffffffffffffff
push ebp
lea edx, [esp + 0x98]
push edx
lea ecx, [esp + 0x80]
mov byte [esp + 0xe0], 5
call fcn.00402750
cmp dword [esp + 0xa8], 0x10
mov byte [esp + 0xd4], bl
jb 0x4aaaaa
mov eax, dword [esp + 0x94]
push eax
call fcn.004b29fa
add esp, 4
jmp 0x4aaaaa
mov eax, dword [eax]
jmp 0x4aa66a
cmp byte [esp + 0x35], 0
je 0x4aa941
mov edx, dword [esp + 0x34]
push edx
lea ecx, [esp + 0xb4]
push ecx
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0xbc]
call fcn.004a5560
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xb0]
mov esi, eax
cmp edx, 0x10
jae 0x4aa8ef
lea esi, [esp + 0xb0]
mov edi, dword [esp + 0xc0]
add esi, edi
cmp esi, ebp
je 0x4aa920
mov ecx, eax
cmp edx, 0x10
jae 0x4aa90a
lea ecx, [esp + 0xb0]
cmp ecx, esi
ja 0x4aa920
cmp edx, 0x10
jae 0x4aa91a
lea eax, [esp + 0xb0]
add eax, edi
cmp esi, eax
jbe 0x4aa925
call fcn.004b32e0
mov ecx, dword [esp + 0x35]
push ecx
lea eax, [esp + 0xb0]
push esi
push eax
lea edx, [esp + 0x68]
push edx
mov ecx, eax
call fcn.004a5560
jmp 0x4aa9a2
mov dword [esp + 0xa8], eax
mov al, byte [esp + 0x34]
mov byte [esp + 0x94], al
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x95], 0
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x98]
push ecx
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 6
call fcn.00402750
cmp dword [esp + 0xa8], 0x10
mov byte [esp + 0xd4], bl
jb 0x4aa9a2
mov edx, dword [esp + 0x94]
push edx
call fcn.004b29fa
add esp, 4
cmp byte [esp + 0x2d], 0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x8c]
mov esi, eax
je 0x4aaa5a
cmp edi, 0x10
jae 0x4aa9c3
lea esi, [esp + 0x78]
mov edx, dword [esp + 0x88]
add esi, edx
cmp esi, ebp
je 0x4aa9ee
mov ecx, eax
cmp edi, 0x10
jae 0x4aa9db
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x4aa9ee
cmp edi, 0x10
jae 0x4aa9e8
lea eax, [esp + 0x78]
add eax, edx
cmp esi, eax
jbe 0x4aa9f3
call fcn.004b32e0
mov ecx, dword [esp + 0x2c]
push ecx
lea eax, [esp + 0x78]
push esi
push eax
lea edx, [esp + 0x78]
push edx
mov ecx, eax
call fcn.004a5560
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x78]
mov esi, eax
cmp edx, 0x10
jae 0x4aaa20
lea esi, [esp + 0x78]
mov edi, dword [esp + 0x88]
add esi, edi
cmp esi, ebp
je 0x4aaa4b
mov ecx, eax
cmp edx, 0x10
jae 0x4aaa38
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x4aaa4b
cmp edx, 0x10
jae 0x4aaa45
lea eax, [esp + 0x78]
add eax, edi
cmp esi, eax
jbe 0x4aaa50
call fcn.004b32e0
mov ecx, dword [esp + 0x2d]
lea edx, [esp + 0x64]
jmp 0x4aaa9b
cmp edi, 0x10
jae 0x4aaa63
lea esi, [esp + 0x78]
mov edx, dword [esp + 0x88]
add esi, edx
cmp esi, ebp
je 0x4aaa8e
mov ecx, eax
cmp edi, 0x10
jae 0x4aaa7b
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x4aaa8e
cmp edi, 0x10
jae 0x4aaa88
lea eax, [esp + 0x78]
add eax, edx
cmp esi, eax
jbe 0x4aaa93
call fcn.004b32e0
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x54]
push ecx
push esi
lea eax, [esp + 0x7c]
push eax
push edx
mov ecx, eax
call fcn.004a5560
mov edi, dword [esp + 0x88]
cmp dword [esp + 0xc4], 0x10
mov edx, dword [esp + 0xb0]
jae 0x4aaac9
lea edx, [esp + 0xb0]
mov ecx, dword [esp + 0xc0]
cmp edi, ecx
jae 0x4aaad6
mov ecx, edi
mov esi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x78]
mov eax, ebx
cmp esi, 0x10
jae 0x4aaaec
lea eax, [esp + 0x78]
push ecx
push edx
push eax
call fcn.00424d80
add esp, 0xc
cmp eax, ebp
jne 0x4aab15
mov eax, dword [esp + 0xc0]
cmp edi, eax
jb 0x4aad47
xor ecx, ecx
cmp edi, eax
setne cl
mov eax, ecx
cmp eax, ebp
jl 0x4aad47
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov edx, dword [esp + 0xc0]
mov eax, dword [esi + 0x130]
mov ecx, dword [esi + 0x128]
add esi, 0x128
lea edi, [edi + edx + 2]
sub ecx, eax
cmp ecx, edi
jae 0x4aab52
mov edx, edi
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.004b2540
mov ebx, dword [esi + 8]
add edi, ebx
mov dword [esi + 8], edi
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xb0]
mov eax, edx
cmp ecx, 0x10
jae 0x4aab76
lea eax, [esp + 0xb0]
mov esi, dword [esp + 0xc0]
lea edi, [eax + esi]
cmp edi, ebp
je 0x4aabaa
mov eax, edx
cmp ecx, 0x10
jae 0x4aab92
lea eax, [esp + 0xb0]
cmp eax, edi
ja 0x4aabaa
mov eax, edx
cmp ecx, 0x10
jae 0x4aaba4
lea eax, [esp + 0xb0]
add eax, esi
cmp edi, eax
jbe 0x4aabbd
call fcn.004b32e0
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xb0]
cmp ecx, 0x10
jb 0x4aad32
mov esi, edx
cmp edx, ebp
je 0x4aabf9
mov eax, edx
cmp ecx, 0x10
jae 0x4aabda
lea eax, [esp + 0xb0]
cmp eax, esi
ja 0x4aabf9
mov eax, edx
cmp ecx, 0x10
jae 0x4aabec
lea eax, [esp + 0xb0]
mov edx, dword [esp + 0xc0]
add eax, edx
cmp esi, eax
jbe 0x4aabfe
call fcn.004b32e0
sub edi, esi
mov eax, edi
cmp eax, ebp
jle 0x4aac12
push eax
push esi
push eax
push ebx
call fcn.004b2a82
add esp, 0x10
mov eax, dword [esp + 0xc0]
mov byte [ebx + eax], 0
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x78]
lea ebx, [ebx + ecx + 1]
mov ecx, dword [esp + 0x8c]
mov eax, edx
cmp ecx, 0x10
jae 0x4aac3e
lea eax, [esp + 0x78]
mov esi, dword [esp + 0x88]
lea edi, [eax + esi]
cmp edi, ebp
je 0x4aac6c
mov eax, edx
cmp ecx, 0x10
jae 0x4aac57
lea eax, [esp + 0x78]
cmp eax, edi
ja 0x4aac6c
mov eax, edx
cmp ecx, 0x10
jae 0x4aac66
lea eax, [esp + 0x78]
add eax, esi
cmp edi, eax
jbe 0x4aac7c
call fcn.004b32e0
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x78]
cmp ecx, 0x10
jb 0x4aad3e
mov esi, edx
cmp edx, ebp
je 0x4aacb2
mov eax, edx
cmp ecx, 0x10
jae 0x4aac96
lea eax, [esp + 0x78]
cmp eax, esi
ja 0x4aacb2
mov eax, edx
cmp ecx, 0x10
jae 0x4aaca5
lea eax, [esp + 0x78]
mov edx, dword [esp + 0x88]
add eax, edx
cmp esi, eax
jbe 0x4aacb7
call fcn.004b32e0
sub edi, esi
mov eax, edi
cmp eax, ebp
jle 0x4aaccb
push eax
push esi
push eax
push ebx
call fcn.004b2a82
add esp, 0x10
mov eax, dword [esp + 0x88]
mov byte [ebx + eax], 0
cmp dword [esp + 0x8c], 0x10
jb 0x4aaced
mov ecx, dword [esp + 0x78]
push ecx
call fcn.004b29fa
add esp, 4
cmp dword [esp + 0xc4], 0x10
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], ebp
mov byte [esp + 0x78], 0
mov dword [esp + 0xd4], 0xffffffff
jb 0x4aa571
mov edx, dword [esp + 0xb0]
push edx
call fcn.004b29fa
add esp, 4
jmp 0x4aa571
lea esi, [esp + 0xb0]
jmp 0x4aabcc
lea esi, [esp + 0x78]
jmp 0x4aac8b
cmp esi, 0x10
jb 0x4aad55
push ebx
call fcn.004b29fa
add esp, 4
cmp dword [esp + 0xc4], 0x10
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], ebp
mov byte [esp + 0x78], 0
jb 0x4aad86
mov eax, dword [esp + 0xb0]
push eax
call fcn.004b29fa
add esp, 4
xor eax, eax
jmp 0x4ab0cd
mov edi, dword [esp + 0x28]
mov esi, dword [edi + 0x4c]
cmp esi, dword [edi + 0x50]
jbe 0x4aad9e
call fcn.004b32e0
mov ebx, dword [edi + 0x40]
mov ebp, esi
mov esi, dword [edi + 0x50]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x3c], esi
cmp dword [edi + 0x4c], esi
jbe 0x4aadb8
call fcn.004b32e0
mov ecx, dword [edi + 0x40]
mov dword [esp + 0x44], ecx
nop
test ebx, ebx
je 0x4aadca
cmp ebx, dword [esp + 0x44]
je 0x4aadcf
call fcn.004b32e0
cmp ebp, esi
je 0x4ab0ba
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
mov dword [esp + 0xd4], 7
test ebx, ebx
jne 0x4aaec4
call fcn.004b32e0
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4aae19
call fcn.004b32e0
cmp byte [ebp + 1], 0
lea esi, [ebp + 1]
je 0x4aaed9
test ebx, ebx
jne 0x4aaecb
call fcn.004b32e0
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4aae3f
call fcn.004b32e0
mov dl, byte [ebp]
mov byte [esp + 0x14], dl
test ebx, ebx
jne 0x4aaed2
call fcn.004b32e0
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4aae5f
call fcn.004b32e0
mov al, byte [esi]
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x16]
push ecx
mov ecx, dword [esi + 4]
lea edx, [esp + 0x18]
mov byte [esp + 0x19], al
push edx
lea eax, [esp + 0xb4]
push eax
mov byte [esp + 0x22], 0
call fcn.004a8300
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 8
call fcn.00402750
cmp dword [esp + 0xc4], 0x10
mov byte [esp + 0xd4], 7
jb 0x4aaf5c
mov ecx, dword [esp + 0xb0]
push ecx
jmp 0x4aaf54
mov eax, dword [ebx]
jmp 0x4aae0f
mov eax, dword [ebx]
jmp 0x4aae35
mov eax, dword [ebx]
jmp 0x4aae55
test ebx, ebx
jne 0x4ab08d
call fcn.004b32e0
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4aaef2
call fcn.004b32e0
test ebx, ebx
jne 0x4ab094
call fcn.004b32e0
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4aaf0b
call fcn.004b32e0
push esi
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 4]
push ebp
lea edx, [esp + 0xb4]
push edx
call fcn.004a8300
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 9
call fcn.00402750
cmp dword [esp + 0xc4], 0x10
mov byte [esp + 0xd4], 7
jb 0x4aaf5c
mov eax, dword [esp + 0xb0]
push eax
call fcn.004b29fa
add esp, 4
mov edi, dword [esp + 0xa4]
test edi, edi
je 0x4ab09f
mov esi, dword [esi]
mov eax, dword [esi + 0x130]
mov ecx, dword [esi + 0x128]
add esi, 0x128
inc edi
sub ecx, eax
cmp ecx, edi
jae 0x4aaf94
mov edx, edi
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.004b2540
mov ebx, dword [esi + 8]
add edi, ebx
mov dword [esi + 8], edi
cmp dword [esp + 0xa8], 0x10
mov eax, dword [esp + 0x94]
jae 0x4aafb4
lea eax, [esp + 0x94]
mov edx, dword [esp + 0xa4]
lea ecx, [esp + 0x90]
push ecx
add eax, edx
push eax
lea ecx, [esp + 0x34]
call fcn.00406090
mov eax, dword [esp + 0x94]
mov esi, 0x10
cmp dword [esp + 0xa8], esi
jae 0x4aafeb
lea eax, [esp + 0x94]
lea edx, [esp + 0x90]
push edx
push eax
lea ecx, [esp + 0x3c]
call fcn.00406090
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
sub eax, ecx
test eax, eax
jle 0x4ab017
push eax
push ecx
push eax
push ebx
call fcn.004b2a82
add esp, 0x10
mov eax, dword [esp + 0xa4]
mov byte [ebx + eax], 0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4ab09b
call fcn.004b32e0
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4ab03b
call fcn.004b32e0
add ebp, 2
mov dword [esp + 0xd4], 0xffffffff
cmp dword [esp + 0xa8], esi
jb 0x4ab062
mov ecx, dword [esp + 0x94]
push ecx
call fcn.004b29fa
add esp, 4
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
jmp 0x4aadc0
mov eax, dword [ebx]
jmp 0x4aaee8
mov eax, dword [ebx]
jmp 0x4aaf01
mov eax, dword [eax]
jmp 0x4ab031
lea ecx, [esp + 0x90]
mov dword [esp + 0xd4], 0xffffffff
call fcn.004a4d70
xor eax, eax
jmp 0x4ab0cd
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x12c]
add eax, dword [esp + 0x40]
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0xcc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xb4]
xor ecx, esp
call fcn.004b3057
add esp, 0xc4
ret 8