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

Disassembly:
push 0xffffffffffffffff
push 0x562e10
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x5c4954]
xor eax, esp
mov dword [esp + 0xb4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5c4954]
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.00479de0
mov edi, dword [ebx + 0x10]
mov esi, eax
cmp dword [ebx + 0xc], edi
jbe 0x482412
call fcn.0052ae71
mov eax, dword [ebx + 0xc]
mov ebp, dword [ebx]
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 0x10]
jbe 0x482425
call fcn.0052ae71
mov eax, dword [ebx]
test ebp, ebp
je 0x48242f
cmp ebp, eax
je 0x482434
call fcn.0052ae71
sub edi, dword [esp + 0x14]
sar edi, 1
mov dword [esi + 8], edi
mov edi, dword [ebx + 0x28]
cmp dword [ebx + 0x24], edi
jbe 0x48244a
call fcn.0052ae71
mov eax, dword [ebx + 0x24]
mov ebp, dword [ebx + 0x18]
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 0x28]
jbe 0x48245e
call fcn.0052ae71
mov eax, dword [ebx + 0x18]
test ebp, ebp
je 0x482469
cmp ebp, eax
je 0x48246e
call fcn.0052ae71
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 0x482486
call fcn.0052ae71
mov ecx, ebx
mov ebx, dword [ecx + 0x4c]
mov ebp, dword [ecx + 0x40]
cmp ebx, dword [ecx + 0x50]
jbe 0x48249c
call fcn.0052ae71
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x40]
test ebp, ebp
je 0x4824a7
cmp ebp, eax
je 0x4824b0
call fcn.0052ae71
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 + 0x20], 0x100000
je 0x482512
mov edi, dword [esp + 0x18]
mov edx, dword [edi + 0x34]
mov ebx, eax
and ebx, edx
cmp ebx, edx
je 0x4824ec
mov edx, dword [edi + 0x38]
mov ebx, eax
and ebx, edx
cmp ebx, edx
jne 0x4824f4
mov edx, dword [edi + 0x3c]
or edx, eax
mov dword [esi + 0x14], edx
mov eax, dword [edi + 0x34]
mov edx, ecx
and edx, eax
cmp edx, eax
je 0x48250a
mov eax, dword [edi + 0x38]
mov edx, ecx
and edx, eax
cmp edx, eax
jne 0x482512
mov eax, dword [edi + 0x3c]
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 + 0x144]
mov dword [esp + 0x40], esi
mov esi, dword [edi + 0xc]
cmp esi, dword [edi + 0x10]
jbe 0x482543
call fcn.0052ae71
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 0x48255c
call fcn.0052ae71
mov ecx, dword [edi]
mov dword [esp + 0x2c], ecx
test ebp, ebp
je 0x48256c
cmp ebp, dword [esp + 0x2c]
je 0x482571
call fcn.0052ae71
cmp ebx, esi
je 0x4826c1
test ebp, ebp
jne 0x482679
call fcn.0052ae71
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x482592
call fcn.0052ae71
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x140]
xor edx, edx
cmp byte [ebx + 1], dl
setne dl
add esi, 0x140
sub ecx, eax
add edx, 2
mov edi, edx
cmp ecx, edi
jae 0x4825c9
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.0048ddf0
mov ebp, dword [esi + 8]
mov ecx, dword [esp + 0x1c]
add edi, ebp
mov dword [esi + 8], edi
test ecx, ecx
jne 0x482681
call fcn.0052ae71
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4825f6
call fcn.0052ae71
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov al, byte [ebx]
je 0x482611
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 0x482688
call fcn.0052ae71
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x482631
call fcn.0052ae71
mov ecx, dword [esp + 0x1c]
cmp byte [ebx + 1], 0
je 0x482690
test ecx, ecx
jne 0x48268c
call fcn.0052ae71
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x482654
call fcn.0052ae71
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov al, byte [ebx + 1]
je 0x482670
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 0x482694
mov eax, dword [ebp]
jmp 0x482588
mov eax, dword [ecx]
jmp 0x4825e8
mov eax, dword [ecx]
jmp 0x482623
mov eax, dword [ecx]
jmp 0x482646
mov byte [ebp + 1], 0
test ecx, ecx
jne 0x4826bd
call fcn.0052ae71
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4826a9
call fcn.0052ae71
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebx, 2
jmp 0x482562
mov eax, dword [ecx]
jmp 0x48269f
mov esi, dword [edi + 0x24]
cmp esi, dword [edi + 0x28]
jbe 0x4826ce
call fcn.0052ae71
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 0x4826ea
call fcn.0052ae71
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x44], ecx
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x4826ff
cmp esi, dword [esp + 0x44]
je 0x482704
call fcn.0052ae71
mov edi, dword [esp + 0x20]
cmp edi, dword [esp + 0x3c]
je 0x482f0d
test esi, esi
jne 0x482760
call fcn.0052ae71
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x482727
call fcn.0052ae71
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 0x48274a
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 0x482764
mov edx, dword [edx]
movzx eax, bl
mov al, byte [eax + edx + 0x104]
jmp 0x482766
mov eax, dword [esi]
jmp 0x48271d
mov al, bl
mov byte [esp + 0x35], al
test esi, esi
jne 0x4827c6
call fcn.0052ae71
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x48277f
call fcn.0052ae71
add edi, 2
test esi, esi
jne 0x4827ca
call fcn.0052ae71
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x482797
call fcn.0052ae71
mov al, byte [ebp + 0xc]
mov cl, byte [edi]
mov edx, dword [ebp + 4]
test al, al
je 0x4827af
mov esi, dword [edx]
movzx ecx, cl
mov cl, byte [ecx + esi + 0x104]
mov byte [esp + 0x2c], cl
test al, al
je 0x4827ce
movzx eax, byte [edi + 1]
mov edx, dword [edx]
mov al, byte [eax + edx + 0x104]
jmp 0x4827d1
mov eax, dword [esi]
jmp 0x482775
mov eax, dword [esi]
jmp 0x48278d
mov al, byte [edi + 1]
mov byte [esp + 0x2d], al
mov eax, dword [esp + 0x1c]
xor ebp, ebp
cmp eax, ebp
jne 0x482a1b
call fcn.0052ae71
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x4827f4
call fcn.0052ae71
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 + 0x20], 0x200000
mov ebx, 1
mov byte [esp + 0xd4], bl
je 0x482a22
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 0x482887
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.0047a910
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 2
call fcn.00402bef
mov edi, 0x10
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x4828da
mov edx, dword [esp + 0x94]
push edx
call fcn.00529442
add esp, 4
cmp byte [esp + 0x25], 0
lea eax, [esp + 0x26]
jne 0x4828e9
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.0047a910
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x80]
mov byte [esp + 0xe0], 3
call fcn.00402bef
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x482937
mov edx, dword [esp + 0x94]
push edx
call fcn.00529442
add esp, 4
cmp dword [esp + 0xc0], ebp
jne 0x4829a1
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.00402bef
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x4829a1
mov ecx, dword [esp + 0x94]
push ecx
call fcn.00529442
add esp, 4
mov edi, dword [esp + 0x88]
cmp edi, ebp
jne 0x482c31
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.00402bef
cmp dword [esp + 0xa8], 0x10
mov byte [esp + 0xd4], bl
jb 0x482c2a
mov eax, dword [esp + 0x94]
push eax
call fcn.00529442
add esp, 4
jmp 0x482c2a
mov eax, dword [eax]
jmp 0x4827ea
cmp byte [esp + 0x35], 0
je 0x482ac1
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.0047b640
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xb0]
mov esi, eax
cmp edx, 0x10
jae 0x482a6f
lea esi, [esp + 0xb0]
mov edi, dword [esp + 0xc0]
add esi, edi
cmp esi, ebp
je 0x482aa0
mov ecx, eax
cmp edx, 0x10
jae 0x482a8a
lea ecx, [esp + 0xb0]
cmp ecx, esi
ja 0x482aa0
cmp edx, 0x10
jae 0x482a9a
lea eax, [esp + 0xb0]
add eax, edi
cmp esi, eax
jbe 0x482aa5
call fcn.0052ae71
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.0047b640
jmp 0x482b22
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.00402bef
cmp dword [esp + 0xa8], 0x10
mov byte [esp + 0xd4], bl
jb 0x482b22
mov edx, dword [esp + 0x94]
push edx
call fcn.00529442
add esp, 4
cmp byte [esp + 0x2d], 0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x8c]
mov esi, eax
je 0x482bda
cmp edi, 0x10
jae 0x482b43
lea esi, [esp + 0x78]
mov edx, dword [esp + 0x88]
add esi, edx
cmp esi, ebp
je 0x482b6e
mov ecx, eax
cmp edi, 0x10
jae 0x482b5b
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x482b6e
cmp edi, 0x10
jae 0x482b68
lea eax, [esp + 0x78]
add eax, edx
cmp esi, eax
jbe 0x482b73
call fcn.0052ae71
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.0047b640
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x78]
mov esi, eax
cmp edx, 0x10
jae 0x482ba0
lea esi, [esp + 0x78]
mov edi, dword [esp + 0x88]
add esi, edi
cmp esi, ebp
je 0x482bcb
mov ecx, eax
cmp edx, 0x10
jae 0x482bb8
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x482bcb
cmp edx, 0x10
jae 0x482bc5
lea eax, [esp + 0x78]
add eax, edi
cmp esi, eax
jbe 0x482bd0
call fcn.0052ae71
mov ecx, dword [esp + 0x2d]
lea edx, [esp + 0x64]
jmp 0x482c1b
cmp edi, 0x10
jae 0x482be3
lea esi, [esp + 0x78]
mov edx, dword [esp + 0x88]
add esi, edx
cmp esi, ebp
je 0x482c0e
mov ecx, eax
cmp edi, 0x10
jae 0x482bfb
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x482c0e
cmp edi, 0x10
jae 0x482c08
lea eax, [esp + 0x78]
add eax, edx
cmp esi, eax
jbe 0x482c13
call fcn.0052ae71
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.0047b640
mov edi, dword [esp + 0x88]
cmp dword [esp + 0xc4], 0x10
mov edx, dword [esp + 0xb0]
jae 0x482c49
lea edx, [esp + 0xb0]
mov ecx, dword [esp + 0xc0]
cmp edi, ecx
jae 0x482c56
mov ecx, edi
mov esi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x78]
mov eax, ebx
cmp esi, 0x10
jae 0x482c6c
lea eax, [esp + 0x78]
push ecx
push edx
push eax
call fcn.00409e05
add esp, 0xc
cmp eax, ebp
jne 0x482c95
mov eax, dword [esp + 0xc0]
cmp edi, eax
jb 0x482ec7
xor ecx, ecx
cmp edi, eax
setne cl
mov eax, ecx
cmp eax, ebp
jl 0x482ec7
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov edx, dword [esp + 0xc0]
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x140]
add esi, 0x140
lea edi, [edi + edx + 2]
sub ecx, eax
cmp ecx, edi
jae 0x482cd2
mov edx, edi
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.0048ddf0
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 0x482cf6
lea eax, [esp + 0xb0]
mov esi, dword [esp + 0xc0]
lea edi, [eax + esi]
cmp edi, ebp
je 0x482d2a
mov eax, edx
cmp ecx, 0x10
jae 0x482d12
lea eax, [esp + 0xb0]
cmp eax, edi
ja 0x482d2a
mov eax, edx
cmp ecx, 0x10
jae 0x482d24
lea eax, [esp + 0xb0]
add eax, esi
cmp edi, eax
jbe 0x482d3d
call fcn.0052ae71
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xb0]
cmp ecx, 0x10
jb 0x482eb2
mov esi, edx
cmp edx, ebp
je 0x482d79
mov eax, edx
cmp ecx, 0x10
jae 0x482d5a
lea eax, [esp + 0xb0]
cmp eax, esi
ja 0x482d79
mov eax, edx
cmp ecx, 0x10
jae 0x482d6c
lea eax, [esp + 0xb0]
mov edx, dword [esp + 0xc0]
add eax, edx
cmp esi, eax
jbe 0x482d7e
call fcn.0052ae71
sub edi, esi
mov eax, edi
cmp eax, ebp
jle 0x482d92
push eax
push esi
push eax
push ebx
call fcn.0052ac8d
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 0x482dbe
lea eax, [esp + 0x78]
mov esi, dword [esp + 0x88]
lea edi, [eax + esi]
cmp edi, ebp
je 0x482dec
mov eax, edx
cmp ecx, 0x10
jae 0x482dd7
lea eax, [esp + 0x78]
cmp eax, edi
ja 0x482dec
mov eax, edx
cmp ecx, 0x10
jae 0x482de6
lea eax, [esp + 0x78]
add eax, esi
cmp edi, eax
jbe 0x482dfc
call fcn.0052ae71
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x78]
cmp ecx, 0x10
jb 0x482ebe
mov esi, edx
cmp edx, ebp
je 0x482e32
mov eax, edx
cmp ecx, 0x10
jae 0x482e16
lea eax, [esp + 0x78]
cmp eax, esi
ja 0x482e32
mov eax, edx
cmp ecx, 0x10
jae 0x482e25
lea eax, [esp + 0x78]
mov edx, dword [esp + 0x88]
add eax, edx
cmp esi, eax
jbe 0x482e37
call fcn.0052ae71
sub edi, esi
mov eax, edi
cmp eax, ebp
jle 0x482e4b
push eax
push esi
push eax
push ebx
call fcn.0052ac8d
add esp, 0x10
mov eax, dword [esp + 0x88]
mov byte [ebx + eax], 0
cmp dword [esp + 0x8c], 0x10
jb 0x482e6d
mov ecx, dword [esp + 0x78]
push ecx
call fcn.00529442
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 0x4826f1
mov edx, dword [esp + 0xb0]
push edx
call fcn.00529442
add esp, 4
jmp 0x4826f1
lea esi, [esp + 0xb0]
jmp 0x482d4c
lea esi, [esp + 0x78]
jmp 0x482e0b
cmp esi, 0x10
jb 0x482ed5
push ebx
call fcn.00529442
add esp, 4
cmp dword [esp + 0xc4], 0x10
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], ebp
mov byte [esp + 0x78], 0
jb 0x482f06
mov eax, dword [esp + 0xb0]
push eax
call fcn.00529442
add esp, 4
xor eax, eax
jmp 0x48324d
mov edi, dword [esp + 0x28]
mov esi, dword [edi + 0x4c]
cmp esi, dword [edi + 0x50]
jbe 0x482f1e
call fcn.0052ae71
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 0x482f38
call fcn.0052ae71
mov ecx, dword [edi + 0x40]
mov dword [esp + 0x44], ecx
nop
test ebx, ebx
je 0x482f4a
cmp ebx, dword [esp + 0x44]
je 0x482f4f
call fcn.0052ae71
cmp ebp, esi
je 0x48323a
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
mov dword [esp + 0xd4], 7
test ebx, ebx
jne 0x483044
call fcn.0052ae71
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x482f99
call fcn.0052ae71
cmp byte [ebp + 1], 0
lea esi, [ebp + 1]
je 0x483059
test ebx, ebx
jne 0x48304b
call fcn.0052ae71
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x482fbf
call fcn.0052ae71
mov dl, byte [ebp]
mov byte [esp + 0x14], dl
test ebx, ebx
jne 0x483052
call fcn.0052ae71
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x482fdf
call fcn.0052ae71
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.00480400
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 8
call fcn.00402bef
cmp dword [esp + 0xc4], 0x10
mov byte [esp + 0xd4], 7
jb 0x4830dc
mov ecx, dword [esp + 0xb0]
push ecx
jmp 0x4830d4
mov eax, dword [ebx]
jmp 0x482f8f
mov eax, dword [ebx]
jmp 0x482fb5
mov eax, dword [ebx]
jmp 0x482fd5
test ebx, ebx
jne 0x48320d
call fcn.0052ae71
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x483072
call fcn.0052ae71
test ebx, ebx
jne 0x483214
call fcn.0052ae71
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x48308b
call fcn.0052ae71
push esi
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 4]
push ebp
lea edx, [esp + 0xb4]
push edx
call fcn.00480400
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 9
call fcn.00402bef
cmp dword [esp + 0xc4], 0x10
mov byte [esp + 0xd4], 7
jb 0x4830dc
mov eax, dword [esp + 0xb0]
push eax
call fcn.00529442
add esp, 4
mov edi, dword [esp + 0xa4]
test edi, edi
je 0x48321f
mov esi, dword [esi]
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x140]
add esi, 0x140
inc edi
sub ecx, eax
cmp ecx, edi
jae 0x483114
mov edx, edi
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.0048ddf0
mov ebx, dword [esi + 8]
add edi, ebx
mov dword [esi + 8], edi
cmp dword [esp + 0xa8], 0x10
mov eax, dword [esp + 0x94]
jae 0x483134
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.0040a05c
mov eax, dword [esp + 0x94]
mov esi, 0x10
cmp dword [esp + 0xa8], esi
jae 0x48316b
lea eax, [esp + 0x94]
lea edx, [esp + 0x90]
push edx
push eax
lea ecx, [esp + 0x3c]
call fcn.0040a05c
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
sub eax, ecx
test eax, eax
jle 0x483197
push eax
push ecx
push eax
push ebx
call fcn.0052ac8d
add esp, 0x10
mov eax, dword [esp + 0xa4]
mov byte [ebx + eax], 0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x48321b
call fcn.0052ae71
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4831bb
call fcn.0052ae71
add ebp, 2
mov dword [esp + 0xd4], 0xffffffff
cmp dword [esp + 0xa8], esi
jb 0x4831e2
mov ecx, dword [esp + 0x94]
push ecx
call fcn.00529442
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 0x482f40
mov eax, dword [ebx]
jmp 0x483068
mov eax, dword [ebx]
jmp 0x483081
mov eax, dword [eax]
jmp 0x4831b1
lea ecx, [esp + 0x90]
mov dword [esp + 0xd4], 0xffffffff
call fcn.00402325
xor eax, eax
jmp 0x48324d
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x144]
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.0052b318
add esp, 0xc4
ret 8