Function at 0x47a400
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x48cbe5
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x4afa68]
xor eax, esp
mov dword [esp + 0xb4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4afa68]
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.0046fbe0
mov edi, dword [ebx + 0x10]
mov esi, eax
cmp dword [ebx + 0xc], edi
jbe 0x47a462
call fcn.00453478
mov eax, dword [ebx + 0xc]
mov ebp, dword [ebx]
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 0x10]
jbe 0x47a475
call fcn.00453478
mov eax, dword [ebx]
test ebp, ebp
je 0x47a47f
cmp ebp, eax
je 0x47a484
call fcn.00453478
sub edi, dword [esp + 0x14]
sar edi, 1
mov dword [esi + 8], edi
mov edi, dword [ebx + 0x28]
cmp dword [ebx + 0x24], edi
jbe 0x47a49a
call fcn.00453478
mov eax, dword [ebx + 0x24]
mov ebp, dword [ebx + 0x18]
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 0x28]
jbe 0x47a4ae
call fcn.00453478
mov eax, dword [ebx + 0x18]
test ebp, ebp
je 0x47a4b9
cmp ebp, eax
je 0x47a4be
call fcn.00453478
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 0x47a4d6
call fcn.00453478
mov ecx, ebx
mov ebx, dword [ecx + 0x4c]
mov ebp, dword [ecx + 0x40]
cmp ebx, dword [ecx + 0x50]
jbe 0x47a4ec
call fcn.00453478
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x40]
test ebp, ebp
je 0x47a4f7
cmp ebp, eax
je 0x47a500
call fcn.00453478
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 0x47a562
mov edi, dword [esp + 0x18]
mov edx, dword [edi + 0x58]
mov ebx, eax
and ebx, edx
cmp ebx, edx
je 0x47a53c
mov edx, dword [edi + 0x5c]
mov ebx, eax
and ebx, edx
cmp ebx, edx
jne 0x47a544
mov edx, dword [edi + 0x60]
or edx, eax
mov dword [esi + 0x14], edx
mov eax, dword [edi + 0x58]
mov edx, ecx
and edx, eax
cmp edx, eax
je 0x47a55a
mov eax, dword [edi + 0x5c]
mov edx, ecx
and edx, eax
cmp edx, eax
jne 0x47a562
mov eax, dword [edi + 0x60]
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 + 0x5c], esi
mov esi, dword [edi + 0xc]
cmp esi, dword [edi + 0x10]
jbe 0x47a593
call fcn.00453478
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 0x47a5ac
call fcn.00453478
mov ecx, dword [edi]
mov dword [esp + 0x2c], ecx
test ebp, ebp
je 0x47a5bc
cmp ebp, dword [esp + 0x2c]
je 0x47a5c1
call fcn.00453478
cmp ebx, esi
je 0x47a711
test ebp, ebp
jne 0x47a6c9
call fcn.00453478
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x47a5e2
call fcn.00453478
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 0x47a619
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.00489560
mov ebp, dword [esi + 8]
mov ecx, dword [esp + 0x1c]
add edi, ebp
mov dword [esi + 8], edi
test ecx, ecx
jne 0x47a6d1
call fcn.00453478
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x47a646
call fcn.00453478
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov al, byte [ebx]
je 0x47a661
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 0x47a6d8
call fcn.00453478
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x47a681
call fcn.00453478
mov ecx, dword [esp + 0x1c]
cmp byte [ebx + 1], 0
je 0x47a6e0
test ecx, ecx
jne 0x47a6dc
call fcn.00453478
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x47a6a4
call fcn.00453478
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov al, byte [ebx + 1]
je 0x47a6c0
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 0x47a6e4
mov eax, dword [ebp]
jmp 0x47a5d8
mov eax, dword [ecx]
jmp 0x47a638
mov eax, dword [ecx]
jmp 0x47a673
mov eax, dword [ecx]
jmp 0x47a696
mov byte [ebp + 1], 0
test ecx, ecx
jne 0x47a70d
call fcn.00453478
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x47a6f9
call fcn.00453478
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebx, 2
jmp 0x47a5b2
mov eax, dword [ecx]
jmp 0x47a6ef
mov esi, dword [edi + 0x24]
cmp esi, dword [edi + 0x28]
jbe 0x47a71e
call fcn.00453478
mov eax, dword [edi + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x28]
mov dword [esp + 0x20], esi
mov dword [esp + 0x58], eax
cmp dword [edi + 0x24], eax
jbe 0x47a73a
call fcn.00453478
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x60], ecx
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x47a74f
cmp esi, dword [esp + 0x60]
je 0x47a754
call fcn.00453478
mov edi, dword [esp + 0x20]
cmp edi, dword [esp + 0x58]
je 0x47af66
test esi, esi
jne 0x47a7b0
call fcn.00453478
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x47a777
call fcn.00453478
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 0x47a79a
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 0x47a7b4
mov edx, dword [edx]
movzx eax, bl
mov al, byte [eax + edx + 0x104]
jmp 0x47a7b6
mov eax, dword [esi]
jmp 0x47a76d
mov al, bl
mov byte [esp + 0x35], al
test esi, esi
jne 0x47a816
call fcn.00453478
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x47a7cf
call fcn.00453478
add edi, 2
test esi, esi
jne 0x47a81a
call fcn.00453478
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x47a7e7
call fcn.00453478
mov al, byte [ebp + 0xc]
mov cl, byte [edi]
mov edx, dword [ebp + 4]
test al, al
je 0x47a7ff
mov esi, dword [edx]
movzx ecx, cl
mov cl, byte [ecx + esi + 0x104]
mov byte [esp + 0x2c], cl
test al, al
je 0x47a81e
movzx eax, byte [edi + 1]
mov edx, dword [edx]
mov al, byte [eax + edx + 0x104]
jmp 0x47a821
mov eax, dword [esi]
jmp 0x47a7c5
mov eax, dword [esi]
jmp 0x47a7dd
mov al, byte [edi + 1]
mov byte [esp + 0x2d], al
mov eax, dword [esp + 0x1c]
xor ebp, ebp
cmp eax, ebp
jne 0x47aa32
call fcn.00453478
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x47a844
call fcn.00453478
add edi, 2
mov eax, 0xf
mov dword [esp + 0x20], edi
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], ebp
mov byte [esp + 0x94], 0
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], ebp
mov byte [esp + 0xb0], 0
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
test dword [ecx + 0x20], 0x200000
mov ebx, 1
mov byte [esp + 0xd4], bl
je 0x47aa39
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 0x47a8da
lea eax, [esp + 0x15]
push eax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [esi + 4]
call fcn.004708b0
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 2
call fcn.00416bb0
mov edi, 0x10
mov byte [esp + 0xd4], bl
cmp dword [esp + 0x54], edi
jb 0x47a924
mov edx, dword [esp + 0x40]
push edx
call fcn.0043182b
add esp, 4
cmp byte [esp + 0x25], 0
lea eax, [esp + 0x26]
jne 0x47a933
lea eax, [esp + 0x25]
push eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [esi + 4]
call fcn.004708b0
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 3
call fcn.00416bb0
mov byte [esp + 0xd4], bl
cmp dword [esp + 0x54], edi
jb 0x47a978
mov edx, dword [esp + 0x40]
push edx
call fcn.0043182b
add esp, 4
cmp dword [esp + 0xa4], ebp
jne 0x47a9cd
mov dword [esp + 0x54], 0xf
mov byte [esp + 0x40], 0
mov dword [esp + 0x50], ebx
mov byte [esp + 0x41], 0
push 0xffffffffffffffff
push ebp
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 4
call fcn.00416bb0
mov byte [esp + 0xd4], bl
cmp dword [esp + 0x54], edi
jb 0x47a9cd
mov ecx, dword [esp + 0x40]
push ecx
call fcn.0043182b
add esp, 4
mov edi, dword [esp + 0xc0]
cmp edi, ebp
jne 0x47ac63
mov dword [esp + 0x54], 0xf
mov byte [esp + 0x40], 0
mov dword [esp + 0x50], ebx
mov byte [esp + 0x41], 0
push 0xffffffffffffffff
push ebp
lea edx, [esp + 0x44]
push edx
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 5
call fcn.00416bb0
cmp dword [esp + 0x54], 0x10
mov byte [esp + 0xd4], bl
jb 0x47ac5c
mov eax, dword [esp + 0x40]
push eax
call fcn.0043182b
add esp, 4
jmp 0x47ac5c
mov eax, dword [eax]
jmp 0x47a83a
cmp byte [esp + 0x35], 0
je 0x47aadb
mov edx, dword [esp + 0x34]
push edx
lea ecx, [esp + 0x98]
push ecx
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0xa0]
call fcn.00471dd0
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0x94]
mov esi, eax
cmp edx, 0x10
jae 0x47aa86
lea esi, [esp + 0x94]
mov edi, dword [esp + 0xa4]
add esi, edi
cmp esi, ebp
je 0x47aab7
mov ecx, eax
cmp edx, 0x10
jae 0x47aaa1
lea ecx, [esp + 0x94]
cmp ecx, esi
ja 0x47aab7
cmp edx, 0x10
jae 0x47aab1
lea eax, [esp + 0x94]
add eax, edi
cmp esi, eax
jbe 0x47aabc
call fcn.00453478
mov ecx, dword [esp + 0x35]
push ecx
lea eax, [esp + 0x94]
push esi
push eax
lea edx, [esp + 0x94]
push edx
mov ecx, eax
call fcn.00471dd0
jmp 0x47ab27
mov dword [esp + 0x54], eax
mov al, byte [esp + 0x34]
mov byte [esp + 0x40], al
mov dword [esp + 0x50], ebx
mov byte [esp + 0x41], 0
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 6
call fcn.00416bb0
cmp dword [esp + 0x54], 0x10
mov byte [esp + 0xd4], bl
jb 0x47ab27
mov edx, dword [esp + 0x40]
push edx
call fcn.0043182b
add esp, 4
cmp byte [esp + 0x2d], 0
mov eax, dword [esp + 0xb0]
mov edi, dword [esp + 0xc4]
mov esi, eax
je 0x47ac00
cmp edi, 0x10
jae 0x47ab4e
lea esi, [esp + 0xb0]
mov edx, dword [esp + 0xc0]
add esi, edx
cmp esi, ebp
je 0x47ab7f
mov ecx, eax
cmp edi, 0x10
jae 0x47ab69
lea ecx, [esp + 0xb0]
cmp ecx, esi
ja 0x47ab7f
cmp edi, 0x10
jae 0x47ab79
lea eax, [esp + 0xb0]
add eax, edx
cmp esi, eax
jbe 0x47ab84
call fcn.00453478
mov ecx, dword [esp + 0x2c]
push ecx
lea eax, [esp + 0xb0]
push esi
push eax
lea edx, [esp + 0x84]
push edx
mov ecx, eax
call fcn.00471dd0
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xb0]
mov esi, eax
cmp edx, 0x10
jae 0x47abbd
lea esi, [esp + 0xb0]
mov edi, dword [esp + 0xc0]
add esi, edi
cmp esi, ebp
je 0x47abee
mov ecx, eax
cmp edx, 0x10
jae 0x47abd8
lea ecx, [esp + 0xb0]
cmp ecx, esi
ja 0x47abee
cmp edx, 0x10
jae 0x47abe8
lea eax, [esp + 0xb0]
add eax, edi
cmp esi, eax
jbe 0x47abf3
call fcn.00453478
mov ecx, dword [esp + 0x2d]
lea edx, [esp + 0x80]
jmp 0x47ac4a
cmp edi, 0x10
jae 0x47ac0c
lea esi, [esp + 0xb0]
mov edx, dword [esp + 0xc0]
add esi, edx
cmp esi, ebp
je 0x47ac3d
mov ecx, eax
cmp edi, 0x10
jae 0x47ac27
lea ecx, [esp + 0xb0]
cmp ecx, esi
ja 0x47ac3d
cmp edi, 0x10
jae 0x47ac37
lea eax, [esp + 0xb0]
add eax, edx
cmp esi, eax
jbe 0x47ac42
call fcn.00453478
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x70]
push ecx
push esi
lea eax, [esp + 0xb4]
push eax
push edx
mov ecx, eax
call fcn.00471dd0
mov edi, dword [esp + 0xc0]
cmp dword [esp + 0xa8], 0x10
mov edx, dword [esp + 0x94]
jae 0x47ac7b
lea edx, [esp + 0x94]
mov ecx, dword [esp + 0xa4]
cmp edi, ecx
jae 0x47ac88
mov ecx, edi
mov esi, dword [esp + 0xc4]
mov ebx, dword [esp + 0xb0]
mov eax, ebx
cmp esi, 0x10
jae 0x47aca4
lea eax, [esp + 0xb0]
push ecx
push edx
push eax
call fcn.004167e0
add esp, 0xc
cmp eax, ebp
jne 0x47accd
mov eax, dword [esp + 0xa4]
cmp edi, eax
jb 0x47af1d
xor ecx, ecx
cmp edi, eax
setne cl
mov eax, ecx
cmp eax, ebp
jl 0x47af1d
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov edx, dword [esp + 0xa4]
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 0x47ad0a
mov edx, edi
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.00489560
mov ebx, dword [esi + 8]
add edi, ebx
mov dword [esi + 8], edi
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x94]
mov eax, edx
cmp ecx, 0x10
jae 0x47ad2e
lea eax, [esp + 0x94]
mov esi, dword [esp + 0xa4]
lea edi, [eax + esi]
cmp edi, ebp
je 0x47ad62
mov eax, edx
cmp ecx, 0x10
jae 0x47ad4a
lea eax, [esp + 0x94]
cmp eax, edi
ja 0x47ad62
mov eax, edx
cmp ecx, 0x10
jae 0x47ad5c
lea eax, [esp + 0x94]
add eax, esi
cmp edi, eax
jbe 0x47ad75
call fcn.00453478
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x94]
cmp ecx, 0x10
jb 0x47af05
mov esi, edx
cmp edx, ebp
je 0x47adb1
mov eax, edx
cmp ecx, 0x10
jae 0x47ad92
lea eax, [esp + 0x94]
cmp eax, esi
ja 0x47adb1
mov eax, edx
cmp ecx, 0x10
jae 0x47ada4
lea eax, [esp + 0x94]
mov edx, dword [esp + 0xa4]
add eax, edx
cmp esi, eax
jbe 0x47adb6
call fcn.00453478
sub edi, esi
mov eax, edi
cmp eax, ebp
jle 0x47adca
push eax
push esi
push eax
push ebx
call fcn.00451a01
add esp, 0x10
mov eax, dword [esp + 0xa4]
mov byte [ebx + eax], 0
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xb0]
lea ebx, [ebx + ecx + 1]
mov ecx, dword [esp + 0xc4]
mov eax, edx
cmp ecx, 0x10
jae 0x47adfc
lea eax, [esp + 0xb0]
mov esi, dword [esp + 0xc0]
lea edi, [eax + esi]
cmp edi, ebp
je 0x47ae30
mov eax, edx
cmp ecx, 0x10
jae 0x47ae18
lea eax, [esp + 0xb0]
cmp eax, edi
ja 0x47ae30
mov eax, edx
cmp ecx, 0x10
jae 0x47ae2a
lea eax, [esp + 0xb0]
add eax, esi
cmp edi, eax
jbe 0x47ae43
call fcn.00453478
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xb0]
cmp ecx, 0x10
jb 0x47af11
mov esi, edx
cmp edx, ebp
je 0x47ae7f
mov eax, edx
cmp ecx, 0x10
jae 0x47ae60
lea eax, [esp + 0xb0]
cmp eax, esi
ja 0x47ae7f
mov eax, edx
cmp ecx, 0x10
jae 0x47ae72
lea eax, [esp + 0xb0]
mov edx, dword [esp + 0xc0]
add eax, edx
cmp esi, eax
jbe 0x47ae84
call fcn.00453478
sub edi, esi
mov eax, edi
cmp eax, ebp
jle 0x47ae98
push eax
push esi
push eax
push ebx
call fcn.00451a01
add esp, 0x10
mov eax, dword [esp + 0xc0]
mov byte [ebx + eax], 0
cmp dword [esp + 0xc4], 0x10
jb 0x47aebd
mov ecx, dword [esp + 0xb0]
push ecx
call fcn.0043182b
add esp, 4
cmp dword [esp + 0xa8], 0x10
mov dword [esp + 0xc4], 0xf
mov dword [esp + 0xc0], ebp
mov byte [esp + 0xb0], 0
mov dword [esp + 0xd4], 0xffffffff
jb 0x47a741
mov edx, dword [esp + 0x94]
push edx
call fcn.0043182b
add esp, 4
jmp 0x47a741
lea esi, [esp + 0x94]
jmp 0x47ad84
lea esi, [esp + 0xb0]
jmp 0x47ae52
cmp esi, 0x10
jb 0x47af2b
push ebx
call fcn.0043182b
add esp, 4
cmp dword [esp + 0xa8], 0x10
mov dword [esp + 0xc4], 0xf
mov dword [esp + 0xc0], ebp
mov byte [esp + 0xb0], 0
jb 0x47af5f
mov eax, dword [esp + 0x94]
push eax
call fcn.0043182b
add esp, 4
xor eax, eax
jmp 0x47b265
mov edi, dword [esp + 0x28]
mov esi, dword [edi + 0x4c]
cmp esi, dword [edi + 0x50]
jbe 0x47af77
call fcn.00453478
mov eax, dword [edi + 0x50]
mov ecx, dword [edi + 0x40]
mov dword [esp + 0x1c], ecx
mov ebp, esi
mov dword [esp + 0x58], eax
cmp dword [edi + 0x4c], eax
jbe 0x47af91
call fcn.00453478
mov edx, dword [edi + 0x40]
mov dword [esp + 0x60], edx
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x47afa6
cmp edi, dword [esp + 0x60]
je 0x47afab
call fcn.00453478
cmp ebp, dword [esp + 0x58]
je 0x47b252
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
mov dword [esp + 0xd4], 7
test edi, edi
jne 0x47b095
call fcn.00453478
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x47aff7
call fcn.00453478
cmp byte [ebp + 1], 0
lea esi, [ebp + 1]
je 0x47b0a7
test edi, edi
jne 0x47b09c
call fcn.00453478
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x47b01d
call fcn.00453478
mov al, byte [ebp]
mov byte [esp + 0x14], al
test edi, edi
jne 0x47b0a3
call fcn.00453478
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x47b039
call fcn.00453478
mov cl, byte [esi]
mov esi, dword [esp + 0x18]
lea edx, [esp + 0x16]
push edx
mov byte [esp + 0x19], cl
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [esi + 4]
mov byte [esp + 0x22], 0
call fcn.00478340
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 8
call fcn.00416bb0
cmp dword [esp + 0x54], 0x10
mov byte [esp + 0xd4], 7
jb 0x47b121
mov edx, dword [esp + 0x40]
push edx
jmp 0x47b119
mov eax, dword [edi]
jmp 0x47afed
mov eax, dword [edi]
jmp 0x47b013
mov eax, dword [edi]
jmp 0x47b02f
test edi, edi
jne 0x47b230
call fcn.00453478
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x47b0c0
call fcn.00453478
test edi, edi
jne 0x47b237
call fcn.00453478
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x47b0d9
call fcn.00453478
push esi
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 4]
push ebp
lea eax, [esp + 0x44]
push eax
call fcn.00478340
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 9
call fcn.00416bb0
cmp dword [esp + 0x54], 0x10
mov byte [esp + 0xd4], 7
jb 0x47b121
mov ecx, dword [esp + 0x40]
push ecx
call fcn.0043182b
add esp, 4
mov edi, dword [esp + 0xa4]
test edi, edi
je 0x47b242
mov esi, dword [esi]
mov eax, dword [esi + 0x148]
mov edx, dword [esi + 0x140]
add esi, 0x140
inc edi
sub edx, eax
cmp edx, edi
jae 0x47b159
mov edx, edi
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.00489560
mov ebx, dword [esi + 8]
add edi, ebx
mov dword [esi + 8], edi
cmp dword [esp + 0xa8], 0x10
mov eax, dword [esp + 0x94]
jae 0x47b179
lea eax, [esp + 0x94]
mov ecx, dword [esp + 0xa4]
lea edx, [esp + 0x90]
add eax, ecx
push edx
push eax
lea ecx, [esp + 0x34]
call fcn.0041c8e0
mov eax, dword [esp + 0x94]
mov esi, 0x10
cmp dword [esp + 0xa8], esi
jae 0x47b1b0
lea eax, [esp + 0x94]
lea ecx, [esp + 0x90]
push ecx
push eax
lea ecx, [esp + 0x3c]
call fcn.0041c8e0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
sub eax, ecx
test eax, eax
jle 0x47b1dc
push eax
push ecx
push eax
push ebx
call fcn.00451a01
add esp, 0x10
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xa4]
mov byte [ebx + edx], 0
test eax, eax
jne 0x47b23e
call fcn.00453478
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x47b200
call fcn.00453478
add ebp, 2
mov dword [esp + 0xd4], 0xffffffff
cmp dword [esp + 0xa8], esi
jb 0x47af98
mov eax, dword [esp + 0x94]
push eax
call fcn.0043182b
add esp, 4
jmp 0x47af98
mov eax, dword [edi]
jmp 0x47b0b6
mov eax, dword [edi]
jmp 0x47b0cf
mov eax, dword [eax]
jmp 0x47b1f6
lea ecx, [esp + 0x90]
call fcn.00416ac0
xor eax, eax
jmp 0x47b265
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x144]
add eax, dword [esp + 0x5c]
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.004512da
add esp, 0xc4
ret 8