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

Disassembly:
push 0xffffffffffffffff
push 0x524e80
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
mov eax, dword [0x557b14]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x557b14]
xor eax, esp
push eax
lea eax, [esp + 0xc8]
mov dword fs:[0], eax
mov ebx, dword [esp + 0xd8]
push 0x20
push 0xe
mov dword [esp + 0x20], ecx
call fcn.0050f140
mov edi, dword [ebx + 8]
cmp dword [ebx + 4], edi
mov esi, eax
jbe 0x51691e
call fcn.004e0f8f
mov ebp, dword [ebx + 4]
cmp ebp, dword [ebx + 8]
jbe 0x51692b
call fcn.004e0f8f
sub edi, ebp
sar edi, 1
lea ebp, [ebx + 0x10]
mov dword [esi + 8], edi
mov edi, dword [ebp + 8]
cmp dword [ebp + 4], edi
mov dword [esp + 0x34], ebp
jbe 0x516946
call fcn.004e0f8f
mov eax, dword [ebp + 4]
cmp eax, dword [ebp + 8]
mov dword [esp + 0x1c], eax
jbe 0x516957
call fcn.004e0f8f
cmp ebp, ebp
je 0x516960
call fcn.004e0f8f
sub edi, dword [esp + 0x1c]
lea eax, [ebx + 0x30]
sar edi, 1
shr edi, 1
mov dword [esi + 0xc], edi
mov edi, dword [eax + 8]
cmp dword [eax + 4], edi
mov dword [esp + 0x1c], eax
jbe 0x51697f
call fcn.004e0f8f
mov eax, dword [esp + 0x1c]
mov ebp, dword [eax + 4]
cmp ebp, dword [eax + 8]
jbe 0x516994
call fcn.004e0f8f
mov eax, dword [esp + 0x1c]
cmp eax, eax
je 0x51699d
call fcn.004e0f8f
mov edx, dword [esp + 0x18]
sub edi, ebp
sar edi, 1
mov dword [esi + 0x10], edi
mov eax, dword [ebx + 0x24]
mov dword [esi + 0x14], eax
mov ecx, dword [ebx + 0x28]
mov dword [esi + 0x18], ecx
mov edi, dword [edx]
test dword [edi + 8], 0x100000
je 0x5169fb
mov edi, dword [edx + 0x30]
mov ebp, edi
and ebp, eax
cmp ebp, edi
je 0x5169d5
mov edi, dword [edx + 0x34]
mov ebp, edi
and ebp, eax
cmp ebp, edi
jne 0x5169dd
mov edi, dword [edx + 0x38]
or edi, eax
mov dword [esi + 0x14], edi
mov eax, dword [edx + 0x30]
mov edi, eax
and edi, ecx
cmp edi, eax
je 0x5169f3
mov eax, dword [edx + 0x34]
mov edi, eax
and edi, ecx
cmp edi, eax
jne 0x5169fb
mov eax, dword [edx + 0x38]
or eax, ecx
mov dword [esi + 0x18], eax
mov al, byte [ebx + 0x20]
mov byte [esi + 0x1c], al
mov al, byte [ebx + 0x21]
test al, al
sete cl
mov byte [esi + 0x1d], cl
mov edx, dword [edx]
sub esi, dword [edx + 0x12c]
mov edi, dword [ebx + 4]
cmp edi, dword [ebx + 8]
mov dword [esp + 0x44], esi
jbe 0x516a25
call fcn.004e0f8f
mov ebp, dword [ebx + 8]
cmp dword [ebx + 4], ebp
mov esi, ebx
mov dword [esp + 0x20], ebp
jbe 0x516a38
call fcn.004e0f8f
test esi, esi
je 0x516a40
cmp esi, ebx
je 0x516a45
call fcn.004e0f8f
cmp edi, ebp
je 0x516b2e
test esi, esi
jne 0x516a56
call fcn.004e0f8f
cmp edi, dword [esi + 8]
jb 0x516a60
call fcn.004e0f8f
mov ecx, dword [esp + 0x18]
mov esi, dword [ecx]
mov edx, dword [esi + 0x130]
xor eax, eax
cmp byte [edi + 1], al
setne al
add esi, 0x128
add eax, 2
mov ebp, eax
mov eax, dword [esi]
sub eax, edx
cmp eax, ebp
jae 0x516a93
sub edx, dword [esi + 4]
mov ecx, esi
add edx, ebp
call fcn.0051e8e0
mov eax, dword [esi + 8]
lea ecx, [eax + ebp]
mov dword [esi + 8], ecx
mov esi, ebx
cmp edi, dword [esi + 8]
mov dword [esp + 0x14], eax
jb 0x516ab0
call fcn.004e0f8f
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov cl, byte [edi]
je 0x516acb
mov edx, dword [edx + 4]
mov edx, dword [edx]
movzx ecx, cl
mov cl, byte [edx + ecx + 0x104]
mov byte [eax], cl
cmp edi, dword [esi + 8]
jb 0x516adb
call fcn.004e0f8f
mov eax, dword [esp + 0x14]
cmp byte [edi + 1], 0
je 0x516b14
cmp edi, dword [esi + 8]
jb 0x516aef
call fcn.004e0f8f
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov cl, byte [edi + 1]
je 0x516b0b
mov edx, dword [edx + 4]
mov edx, dword [edx]
movzx ecx, cl
mov cl, byte [edx + ecx + 0x104]
mov byte [eax + 1], cl
mov byte [eax + 2], 0
jmp 0x516b18
mov byte [eax + 1], 0
cmp edi, dword [esi + 8]
jb 0x516b22
call fcn.004e0f8f
mov ebp, dword [esp + 0x20]
add edi, 2
jmp 0x516a38
mov eax, dword [esp + 0x34]
mov esi, dword [eax + 4]
cmp esi, dword [eax + 8]
jbe 0x516b3f
call fcn.004e0f8f
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 8]
cmp dword [ecx + 4], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x38], eax
jbe 0x516b60
call fcn.004e0f8f
lea esp, [esp]
mov ebp, dword [esp + 0x3c]
test ebp, ebp
je 0x516b6e
cmp ebp, dword [esp + 0x34]
je 0x516b73
call fcn.004e0f8f
mov edi, dword [esp + 0x40]
cmp edi, dword [esp + 0x38]
je 0x517345
test ebp, ebp
jne 0x516b8a
call fcn.004e0f8f
cmp edi, dword [ebp + 8]
jb 0x516b94
call fcn.004e0f8f
mov esi, dword [esp + 0x18]
mov al, byte [esi + 0xc]
test al, al
mov cl, byte [edi]
mov bl, byte [edi + 1]
mov edx, dword [esi + 4]
je 0x516bb7
mov esi, dword [edx]
movzx ecx, cl
mov cl, byte [ecx + esi + 0x104]
mov esi, dword [esp + 0x18]
test al, al
mov byte [esp + 0x24], cl
je 0x516bcd
mov edx, dword [edx]
movzx eax, bl
mov al, byte [eax + edx + 0x104]
jmp 0x516bcf
mov al, bl
cmp edi, dword [ebp + 8]
mov byte [esp + 0x25], al
jb 0x516bdd
call fcn.004e0f8f
add edi, 2
cmp edi, dword [ebp + 8]
jb 0x516bea
call fcn.004e0f8f
mov al, byte [esi + 0xc]
test al, al
mov cl, byte [edi]
mov edx, dword [esi + 4]
je 0x516c06
mov esi, dword [edx]
movzx ecx, cl
mov cl, byte [ecx + esi + 0x104]
mov esi, dword [esp + 0x18]
test al, al
mov bl, cl
mov byte [esp + 0x2c], bl
je 0x516c1f
movzx eax, byte [edi + 1]
mov edx, dword [edx]
mov al, byte [eax + edx + 0x104]
jmp 0x516c22
mov al, byte [edi + 1]
cmp edi, dword [ebp + 8]
mov byte [esp + 0x2d], al
jb 0x516c30
call fcn.004e0f8f
add edi, 2
mov eax, 0xf
xor ebp, ebp
mov dword [esp + 0x40], edi
mov dword [esp + 0xc0], eax
mov dword [esp + 0xbc], ebp
mov byte [esp + 0xac], 0
mov dword [esp + 0xd0], ebp
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], ebp
mov byte [esp + 0x74], 0
mov ecx, dword [esi]
test dword [ecx + 8], 0x200000
mov byte [esp + 0xd0], 1
je 0x516e50
mov al, byte [esp + 0x25]
mov dl, byte [esp + 0x24]
mov cl, byte [esp + 0x2d]
mov byte [esp + 0x15], al
test al, al
mov byte [esp + 0x14], dl
mov byte [esp + 0x16], 0
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], cl
mov byte [esp + 0x22], 0
lea eax, [esp + 0x16]
jne 0x516cb7
lea eax, [esp + 0x15]
mov ecx, dword [esi + 4]
push eax
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x94]
push eax
call fcn.0050f8d0
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0xb4]
mov byte [esp + 0xdc], 2
call fcn.00401201
mov ebx, 0x10
cmp dword [esp + 0xa4], ebx
mov byte [esp + 0xd0], 1
jb 0x516d0b
mov ecx, dword [esp + 0x90]
push ecx
call fcn.004e001f
add esp, 4
cmp byte [esp + 0x21], 0
lea eax, [esp + 0x22]
jne 0x516d1a
lea eax, [esp + 0x21]
mov ecx, dword [esi + 4]
push eax
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x94]
push eax
call fcn.0050f8d0
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x7c]
mov byte [esp + 0xdc], 3
call fcn.00401201
cmp dword [esp + 0xa4], ebx
mov byte [esp + 0xd0], 1
jb 0x516d66
mov ecx, dword [esp + 0x90]
push ecx
call fcn.004e001f
add esp, 4
cmp dword [esp + 0xbc], ebp
jne 0x516dd5
mov dword [esp + 0xa4], 0xf
mov byte [esp + 0x90], 0
mov dword [esp + 0xa0], 1
mov byte [esp + 0x91], 0
push 0xffffffffffffffff
push ebp
lea edx, [esp + 0x94]
push edx
lea ecx, [esp + 0xb4]
mov byte [esp + 0xdc], 4
call fcn.00401201
cmp dword [esp + 0xa4], ebx
mov byte [esp + 0xd0], 1
jb 0x516dd5
mov eax, dword [esp + 0x90]
push eax
call fcn.004e001f
add esp, 4
mov edi, dword [esp + 0x84]
cmp edi, ebp
jne 0x517067
mov dword [esp + 0xa4], 0xf
mov byte [esp + 0x90], 0
mov dword [esp + 0xa0], 1
mov byte [esp + 0x91], 0
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0xdc], 5
call fcn.00401201
cmp dword [esp + 0xa4], ebx
mov byte [esp + 0xd0], 1
jb 0x517060
mov edx, dword [esp + 0x90]
push edx
call fcn.004e001f
add esp, 4
jmp 0x517060
cmp byte [esp + 0x25], 0
je 0x516eed
mov edx, dword [esp + 0x24]
push edx
lea ecx, [esp + 0xb0]
push ecx
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0xb8]
call fcn.00510a60
mov edx, dword [esp + 0xc0]
cmp edx, 0x10
mov eax, dword [esp + 0xac]
mov esi, eax
jae 0x516e9d
lea esi, [esp + 0xac]
mov edi, dword [esp + 0xbc]
add esi, edi
je 0x516ecc
cmp edx, 0x10
mov ecx, eax
jae 0x516eb6
lea ecx, [esp + 0xac]
cmp ecx, esi
ja 0x516ecc
cmp edx, 0x10
jae 0x516ec6
lea eax, [esp + 0xac]
add eax, edi
cmp esi, eax
jbe 0x516ed1
call fcn.004e0f8f
mov ecx, dword [esp + 0x25]
push ecx
lea eax, [esp + 0xac]
push esi
push eax
lea edx, [esp + 0x54]
push edx
mov ecx, eax
call fcn.00510a60
jmp 0x516f57
mov al, byte [esp + 0x24]
mov dword [esp + 0xa4], 0xf
mov byte [esp + 0x90], al
mov dword [esp + 0xa0], 1
mov byte [esp + 0x91], 0
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0xb4]
mov byte [esp + 0xdc], 6
call fcn.00401201
cmp dword [esp + 0xa4], 0x10
mov byte [esp + 0xd0], 1
jb 0x516f57
mov edx, dword [esp + 0x90]
push edx
call fcn.004e001f
add esp, 4
cmp byte [esp + 0x2d], 0
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x88]
mov esi, eax
je 0x51700b
cmp edi, 0x10
jae 0x516f78
lea esi, [esp + 0x74]
mov edx, dword [esp + 0x84]
add esi, edx
je 0x516fa1
cmp edi, 0x10
mov ecx, eax
jae 0x516f8e
lea ecx, [esp + 0x74]
cmp ecx, esi
ja 0x516fa1
cmp edi, 0x10
jae 0x516f9b
lea eax, [esp + 0x74]
add eax, edx
cmp esi, eax
jbe 0x516fa6
call fcn.004e0f8f
mov ecx, dword [esp + 0x2c]
push ecx
lea eax, [esp + 0x74]
push esi
push eax
lea edx, [esp + 0x74]
push edx
mov ecx, eax
call fcn.00510a60
mov edx, dword [esp + 0x88]
cmp edx, 0x10
mov eax, dword [esp + 0x74]
mov esi, eax
jae 0x516fd3
lea esi, [esp + 0x74]
mov edi, dword [esp + 0x84]
add esi, edi
je 0x516ffc
cmp edx, 0x10
mov ecx, eax
jae 0x516fe9
lea ecx, [esp + 0x74]
cmp ecx, esi
ja 0x516ffc
cmp edx, 0x10
jae 0x516ff6
lea eax, [esp + 0x74]
add eax, edi
cmp esi, eax
jbe 0x517001
call fcn.004e0f8f
mov ecx, dword [esp + 0x2d]
lea edx, [esp + 0x60]
jmp 0x51704a
cmp edi, 0x10
jae 0x517014
lea esi, [esp + 0x74]
mov edx, dword [esp + 0x84]
add esi, edx
je 0x51703d
cmp edi, 0x10
mov ecx, eax
jae 0x51702a
lea ecx, [esp + 0x74]
cmp ecx, esi
ja 0x51703d
cmp edi, 0x10
jae 0x517037
lea eax, [esp + 0x74]
add eax, edx
cmp esi, eax
jbe 0x517042
call fcn.004e0f8f
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x50]
push ecx
push esi
lea eax, [esp + 0x78]
push eax
push edx
mov ecx, eax
call fcn.00510a60
mov ebx, 0x10
xor ebp, ebp
mov edi, dword [esp + 0x84]
cmp dword [esp + 0xc0], ebx
mov edx, dword [esp + 0xac]
jae 0x51707e
lea edx, [esp + 0xac]
mov ecx, dword [esp + 0xbc]
cmp edi, ecx
jae 0x51708b
mov ecx, edi
mov esi, dword [esp + 0x88]
cmp esi, 0x10
mov ebx, dword [esp + 0x74]
mov eax, ebx
jae 0x5170a1
lea eax, [esp + 0x74]
push ecx
push edx
push eax
call fcn.004067a4
add esp, 0xc
cmp eax, ebp
jne 0x5170ca
mov eax, dword [esp + 0xbc]
cmp edi, eax
jb 0x5172ff
xor ecx, ecx
cmp edi, eax
setne cl
mov eax, ecx
cmp eax, ebp
jl 0x5172ff
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov edx, dword [esp + 0xbc]
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 0x517107
mov edx, edi
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.0051e8e0
mov ebp, dword [esi + 8]
add edi, ebp
mov dword [esi + 8], edi
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xac]
mov ebx, 0x10
cmp ecx, ebx
mov eax, edx
jae 0x51712f
lea eax, [esp + 0xac]
mov esi, dword [esp + 0xbc]
lea edi, [eax + esi]
test edi, edi
je 0x517161
cmp ecx, ebx
mov eax, edx
jae 0x51714a
lea eax, [esp + 0xac]
cmp eax, edi
ja 0x517161
cmp ecx, ebx
mov eax, edx
jae 0x51715b
lea eax, [esp + 0xac]
add eax, esi
cmp edi, eax
jbe 0x517174
call fcn.004e0f8f
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xac]
cmp ecx, ebx
jb 0x5172ea
test edx, edx
mov esi, edx
je 0x5171ad
cmp ecx, ebx
mov eax, edx
jae 0x51718f
lea eax, [esp + 0xac]
cmp eax, esi
ja 0x5171ad
cmp ecx, ebx
mov eax, edx
jae 0x5171a0
lea eax, [esp + 0xac]
mov edx, dword [esp + 0xbc]
add eax, edx
cmp esi, eax
jbe 0x5171b2
call fcn.004e0f8f
cmp esi, edi
mov eax, esi
je 0x5171cc
mov ecx, ebp
sub ecx, esi
lea esp, [esp]
mov dl, byte [eax]
mov byte [eax + ecx], dl
add eax, 1
cmp eax, edi
jne 0x5171c0
mov eax, dword [esp + 0xbc]
mov byte [eax + ebp], 0
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x74]
lea ebp, [ecx + ebp + 1]
mov ecx, dword [esp + 0x88]
cmp ecx, ebx
mov eax, edx
jae 0x5171f7
lea eax, [esp + 0x74]
mov esi, dword [esp + 0x84]
lea edi, [eax + esi]
test edi, edi
je 0x517223
cmp ecx, ebx
mov eax, edx
jae 0x51720f
lea eax, [esp + 0x74]
cmp eax, edi
ja 0x517223
cmp ecx, ebx
mov eax, edx
jae 0x51721d
lea eax, [esp + 0x74]
add esi, eax
cmp edi, esi
jbe 0x517233
call fcn.004e0f8f
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x74]
cmp ecx, ebx
jb 0x5172f6
test edx, edx
mov esi, edx
je 0x517266
cmp ecx, ebx
mov eax, edx
jae 0x51724b
lea eax, [esp + 0x74]
cmp eax, esi
ja 0x517266
cmp ecx, ebx
mov eax, edx
jae 0x517259
lea eax, [esp + 0x74]
mov edx, dword [esp + 0x84]
add edx, eax
cmp esi, edx
jbe 0x51726b
call fcn.004e0f8f
cmp esi, edi
mov eax, esi
je 0x517281
mov ecx, ebp
sub ecx, esi
mov dl, byte [eax]
mov byte [ecx + eax], dl
add eax, 1
cmp eax, edi
jne 0x517275
mov eax, dword [esp + 0x84]
mov byte [eax + ebp], 0
cmp dword [esp + 0x88], ebx
jb 0x5172a2
mov ecx, dword [esp + 0x74]
push ecx
call fcn.004e001f
add esp, 4
cmp dword [esp + 0xc0], ebx
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], 0
mov byte [esp + 0x74], 0
mov dword [esp + 0xd0], 0xffffffff
jb 0x516b60
mov edx, dword [esp + 0xac]
push edx
call fcn.004e001f
add esp, 4
jmp 0x516b60
lea esi, [esp + 0xac]
jmp 0x517182
lea esi, [esp + 0x74]
jmp 0x517241
cmp esi, 0x10
jb 0x51730d
push ebx
call fcn.004e001f
add esp, 4
cmp dword [esp + 0xc0], 0x10
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], ebp
mov byte [esp + 0x74], 0
jb 0x51733e
mov eax, dword [esp + 0xac]
push eax
call fcn.004e001f
add esp, 4
xor eax, eax
jmp 0x5175f9
mov eax, dword [esp + 0x1c]
mov ebp, dword [eax + 4]
cmp ebp, dword [eax + 8]
jbe 0x517356
call fcn.004e0f8f
mov edi, dword [esp + 0x1c]
mov esi, dword [edi + 8]
cmp dword [edi + 4], esi
mov dword [esp + 0x38], esi
jbe 0x51736b
call fcn.004e0f8f
test edi, edi
mov ebx, dword [esp + 0x18]
je 0x517377
cmp edi, edi
je 0x51737c
call fcn.004e0f8f
cmp ebp, esi
je 0x5175ea
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], 0
mov byte [esp + 0x90], 0
test edi, edi
mov dword [esp + 0xd0], 7
jne 0x5173b6
call fcn.004e0f8f
cmp ebp, dword [edi + 8]
jb 0x5173c0
call fcn.004e0f8f
cmp byte [ebp + 1], 0
lea esi, [ebp + 1]
je 0x51743e
cmp ebp, dword [edi + 8]
jb 0x5173d3
call fcn.004e0f8f
cmp ebp, dword [edi + 8]
mov cl, byte [ebp]
mov byte [esp + 0x14], cl
jb 0x5173e4
call fcn.004e0f8f
mov dl, byte [esi]
lea eax, [esp + 0x16]
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x19], dl
push ecx
mov ecx, dword [ebx + 4]
lea edx, [esp + 0xb0]
push edx
mov byte [esp + 0x22], 0
call fcn.005146a0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x98]
mov byte [esp + 0xdc], 8
call fcn.00401201
cmp dword [esp + 0xc0], 0x10
mov byte [esp + 0xd0], 7
jb 0x51749f
mov eax, dword [esp + 0xac]
push eax
jmp 0x517497
cmp ebp, dword [edi + 8]
jb 0x517452
call fcn.004e0f8f
cmp ebp, dword [edi + 8]
jb 0x517452
call fcn.004e0f8f
push esi
push ebp
lea ecx, [esp + 0xb0]
push ecx
mov ecx, dword [ebx + 4]
call fcn.005146a0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x98]
mov byte [esp + 0xdc], 9
call fcn.00401201
cmp dword [esp + 0xc0], 0x10
mov byte [esp + 0xd0], 7
jb 0x51749f
mov edx, dword [esp + 0xac]
push edx
call fcn.004e001f
add esp, 4
mov edi, dword [esp + 0xa0]
test edi, edi
je 0x5175c8
mov esi, dword [ebx]
mov edx, dword [esi + 0x130]
mov eax, dword [esi + 0x128]
add esi, 0x128
add edi, 1
sub eax, edx
cmp eax, edi
jae 0x5174d7
sub edx, dword [esi + 4]
mov ecx, esi
add edx, edi
call fcn.0051e8e0
mov ebx, dword [esi + 8]
lea ecx, [ebx + edi]
mov dword [esi + 8], ecx
cmp dword [esp + 0xa4], 0x10
mov eax, dword [esp + 0x90]
jae 0x5174f8
lea eax, [esp + 0x90]
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0x8c]
push ecx
add eax, edx
push eax
lea ecx, [esp + 0x34]
call fcn.0042046e
cmp dword [esp + 0xa4], 0x10
mov eax, dword [esp + 0x90]
jae 0x51752b
lea eax, [esp + 0x90]
lea edx, [esp + 0x8c]
push edx
push eax
lea ecx, [esp + 0x44]
call fcn.0042046e
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x30]
cmp eax, esi
je 0x51755c
mov ecx, ebx
sub ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
mov byte [ecx + eax], dl
add eax, 1
cmp eax, esi
jne 0x517550
mov eax, dword [esp + 0xa0]
mov byte [eax + ebx], 0
mov eax, dword [esp + 0x1c]
cmp ebp, dword [eax + 8]
jb 0x517575
call fcn.004e0f8f
add ebp, 2
cmp dword [esp + 0xa4], 0x10
mov dword [esp + 0xd0], 0xffffffff
jb 0x51759d
mov ecx, dword [esp + 0x90]
push ecx
call fcn.004e001f
add esp, 4
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x38]
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], 0
mov byte [esp + 0x90], 0
jmp 0x51736b
cmp dword [esp + 0xa4], 0x10
jb 0x51733e
mov edx, dword [esp + 0x90]
push edx
call fcn.004e001f
add esp, 4
xor eax, eax
jmp 0x5175f9
mov eax, dword [ebx]
mov eax, dword [eax + 0x12c]
add eax, dword [esp + 0x44]
mov dword [ebx + 8], eax
mov ecx, dword [esp + 0xc8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.004e0010
add esp, 0xc0
ret 8