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

Disassembly:
mov ecx, dword [0x6d0e30]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x60]
cmp eax, dword [ecx + 8]
jbe 0x526e18
sub esp, 0xe0
mov edx, dword [esp + 0xe4]
mov ebx, dword [edx + 0xac]
inc ebx
mov dword [esp + 0x44], ebx
mov ebp, dword [edx + 0x84]
mov dword [esp + 0x7c], ebp
mov eax, dword [edx + 0x88]
mov dword [esp + 0x78], eax
mov ecx, dword [edx + 0x80]
mov dword [esp + 0x74], ecx
mov esi, eax
mov edi, ebp
xor eax, eax
mov dword [esp + 0x38], eax
xor ebp, ebp
mov dword [esp + 0x34], ebp
xor ebp, ebp
mov dword [esp + 0x88], ebp
xor esi, esi
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
xor edi, edi
mov dword [esp + 0x80], edi
xor edi, edi
mov dword [esp + 0x28], edi
xor edi, edi
mov dword [esp + 0x24], edi
xor edi, edi
mov dword [esp + 0x8c], edi
xor edi, edi
mov dword [esp + 0x40], edi
xor edi, edi
mov dword [esp + 0x3c], edi
xor edi, edi
mov dword [esp + 0x84], edi
xor edi, edi
mov dword [esp + 0x30], edi
xor edi, edi
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
mov esi, eax
mov edi, ebp
jmp 0x525fd4
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x48]
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x2c]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ecx
cmp dword [edx + 0x64], 4
jge 0x526022
mov dword [esp], edx
mov dword [esp + 4], 4
call fcn.00518b70
movzx eax, byte [esp + 8]
test al, al
je 0x5262da
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov ebx, dword [edx + 0x88]
test ebx, ebx
jne 0x52611b
mov ebx, dword [edx + 0x58]
mov esi, dword [edx + 0x60]
cmp ebx, esi
jbe 0x526e0e
mov edi, dword [edx + 0x54]
movzx eax, byte [edi + esi]
cmp al, 0x2d
jne 0x52607c
lea ecx, [esi + 1]
cmp ebx, ecx
jbe 0x526e05
lea ecx, [edi + esi + 1]
cmp byte [ecx], 0x2d
jne 0x526078
lea ecx, [esi + 2]
cmp ebx, ecx
jbe 0x526dfc
lea ecx, [edi + esi + 2]
cmp byte [ecx], 0x2d
je 0x5260ad
mov ecx, dword [esp + 0x4c]
jmp 0x52607c
mov ecx, dword [esp + 0x4c]
cmp al, 0x2e
jne 0x52610b
lea eax, [esi + 1]
cmp ebx, eax
jbe 0x526df5
lea eax, [edi + esi + 1]
cmp byte [eax], 0x2e
jne 0x5260fb
lea eax, [esi + 2]
cmp ebx, eax
jbe 0x526dee
lea eax, [edi + esi + 2]
cmp byte [eax], 0x2e
jne 0x5260eb
mov eax, dword [edx + 0x5c]
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
lea eax, [esi + 3]
mov dword [esp + 0xc], eax
call fcn.00528510
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov ebx, eax
mov eax, dword [esp + 0x50]
jmp 0x52611d
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
xor ebx, ebx
jmp 0x52611d
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
xor ebx, ebx
jmp 0x52611d
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
xor ebx, ebx
jmp 0x52611d
xor ebx, ebx
test bl, bl
jne 0x5262d4
mov ebx, dword [edx + 0x58]
mov esi, dword [edx + 0x60]
cmp ebx, esi
jbe 0x526de5
mov ebx, dword [edx + 0x54]
add ebx, esi
cmp byte [ebx], 0x23
je 0x5262ca
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x88]
jmp 0x5263d9
mov edx, dword [esp + 0xe4]
mov ecx, dword [edx + 0x58]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x526dcd
mov ebx, dword [edx + 0x54]
movzx ebp, byte [ebx + eax]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x526238
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x526238
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x526238
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x526238
xchg ebp, eax
cmp al, 0xc2
xchg ebp, eax
jne 0x5261b8
lea esi, [eax + 1]
cmp ecx, esi
jbe 0x526dc6
lea esi, [ebx + eax + 1]
cmp byte [esi], 0x85
je 0x526238
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
jne 0x5268c2
lea esi, [eax + 1]
cmp ecx, esi
jbe 0x526dbf
lea edi, [ebx + eax + 1]
movzx edi, byte [edi]
xchg edi, eax
cmp al, 0x80
xchg edi, eax
jne 0x526202
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
lea edi, [eax + 2]
cmp ecx, edi
jbe 0x526db8
lea edi, [ebx + eax + 2]
cmp byte [edi], 0xa8
je 0x526238
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
movzx edi, byte [esp + 0x23]
jmp 0x526207
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
jne 0x5268c2
cmp ecx, esi
jbe 0x526db1
xchg edi, eax
cmp al, 0x80
xchg edi, eax
jne 0x5268c2
lea ebp, [eax + 2]
cmp ecx, ebp
jbe 0x526daa
lea ebx, [ebx + eax + 2]
cmp byte [ebx], 0xa9
jne 0x5268c2
mov ebx, dword [edx + 0x64]
test ebx, ebx
jg 0x526263
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.00518b70
movzx eax, byte [esp + 8]
test al, al
je 0x5268b3
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x84]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x40]
jmp 0x52690e
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0x40]
jmp 0x5262ab
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0x40]
jmp 0x5262ab
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0x40]
mov ebp, dword [edx + 0x90]
test ebp, ebp
jne 0x525fbc
cmp dword [edx + 0x88], ebx
jge 0x525fbc
jmp 0x526d50
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x38]
jmp 0x5262e9
mov ebx, dword [esp + 0x38]
jmp 0x5262e9
mov byte [esp + 0xec], 0
add esp, 0xe0
ret
mov dword [esp + 0x4c], ecx
lea edi, [esp + 0x90]
lea esi, [0x5b6cc8]
call fcn.0046514c
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ebx
mov edi, dword [esp + 0xe8]
test byte [edi], al
mov eax, dword [0x6d0ed8]
test eax, eax
je 0x526397
lea eax, [0x56fb40]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
call fcn.004113d0
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0xe8]
lea esi, [esp + 0x90]
call fcn.0046514c
movzx eax, byte [esp + 0x21]
test al, al
je 0x5263b3
mov byte [edx + 0xbc], 1
mov byte [esp + 0xec], 1
add esp, 0xe0
ret
mov ebx, edx
mov dword [esp + 0x34], ecx
mov ecx, ebp
mov edx, dword [esp + 0xe4]
mov ebp, edi
mov edi, esi
mov esi, eax
mov eax, edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x88], esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ecx
mov edi, dword [edx + 0x54]
mov eax, dword [edx + 0x58]
mov ecx, dword [edx + 0x5c]
mov ebp, dword [edx + 0x60]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
call fcn.00528510
movzx eax, byte [esp + 0x10]
test al, al
jne 0x526151
mov edx, dword [esp + 0xe4]
mov ecx, dword [edx + 0x58]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x526de0
mov ebx, dword [edx + 0x54]
lea ebp, [ebx + eax]
cmp byte [ebp], 0x3a
je 0x526442
xor eax, eax
jmp 0x526466
mov ebp, dword [edx + 0x5c]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
inc eax
mov dword [esp + 0xc], eax
call fcn.00528510
movzx eax, byte [esp + 0x10]
mov edx, dword [esp + 0xe4]
test al, al
jne 0x526158
mov ebx, dword [edx + 0x90]
test ebx, ebx
jle 0x5264c3
mov ecx, dword [edx + 0x58]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x526ddb
mov ebx, dword [edx + 0x54]
movzx ebx, byte [ebx + eax]
cmp bl, 0x2c
je 0x526158
cmp bl, 0x3f
je 0x526158
cmp bl, 0x5b
je 0x526158
cmp bl, 0x5d
je 0x526158
cmp bl, 0x7b
je 0x526158
cmp bl, 0x7d
je 0x526158
movzx ebx, byte [esp + 0x21]
test bl, bl
je 0x5264d2
mov ebp, dword [esp + 0x24]
jmp 0x5264e6
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x5267e8
test bl, bl
je 0x526745
mov ebx, dword [esp + 0x3c]
test ebx, ebx
jbe 0x526dd2
mov eax, dword [esp + 0x8c]
cmp byte [eax], 0xa
jne 0x526613
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x526571
mov ecx, dword [esp + 0x34]
inc ecx
mov ebx, dword [esp + 0x38]
cmp ebx, ecx
jb 0x526520
mov esi, dword [esp + 0x88]
jmp 0x526567
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5575c0]
mov dword [esp + 0x10], eax
call fcn.0044b6b0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x24]
mov byte [ecx + esi - 1], 0x20
jmp 0x526730
mov ebx, dword [esp + 0x34]
lea esi, [ebx + ecx]
mov edi, dword [esp + 0x38]
cmp edi, esi
jae 0x5265c4
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
lea eax, [0x5575c0]
mov dword [esp + 0x10], eax
call fcn.0044b6b0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x88], esi
mov edi, ebx
mov esi, eax
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], esi
mov eax, dword [esp + 0x88]
lea edx, [eax + ebx]
mov dword [esp], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004653e0
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x88]
jmp 0x526730
mov ecx, dword [esp + 0x34]
lea esi, [ecx + ebx]
mov edi, dword [esp + 0x38]
cmp edi, esi
jae 0x52666d
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
lea eax, [0x5575c0]
mov dword [esp + 0x10], eax
call fcn.0044b6b0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov edi, ebx
mov dword [esp + 0x88], esi
mov esi, eax
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], edi
mov edx, dword [esp + 0x88]
add ecx, edx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004653e0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x38]
cmp ebx, edx
jb 0x5266aa
mov ebp, dword [esp + 0x88]
jmp 0x5266e7
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
lea eax, [0x5575c0]
mov dword [esp + 0x10], eax
call fcn.0044b6b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov ebp, eax
mov ebx, edi
mov eax, dword [esp + 0x34]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], edx
mov dword [esp + 0x88], ebp
add eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004653e0
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x88]
xor edi, edi
xor edi, edi
mov dword [esp + 0x3c], edi
xor edi, edi
mov dword [esp + 0x2c], edi
xor edi, edi
jmp 0x5267fc
mov eax, dword [esp + 0x34]
lea ecx, [eax + ebp]
mov esi, dword [esp + 0x38]
cmp esi, ecx
jb 0x52675d
mov edi, dword [esp + 0x88]
jmp 0x52679a
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
lea eax, [0x5575c0]
mov dword [esp + 0x10], eax
call fcn.0044b6b0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x24]
mov edi, esi
mov esi, ebx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x88], edi
mov dword [esp + 0x38], esi
add eax, edi
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004653e0
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x88]
movzx edi, byte [esp + 0x21]
xor ebp, ebp
jmp 0x5267fc
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x88]
movzx edi, byte [esp + 0x21]
xchg edi, eax
mov byte [esp + 0x21], al
xchg edi, eax
mov dword [esp + 0x24], ebp
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call fcn.0051b400
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [ebx + 0x80]
mov esi, dword [ebx + 0x88]
mov edi, dword [ebx + 0x84]
cmp dword [ebx + 0x64], 2
jge 0x5263c2
mov dword [esp + 0x70], edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0xdc], eax
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], edi
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.00518b70
movzx eax, byte [esp + 8]
test al, al
je 0x5268a4
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
jmp 0x5263c2
mov byte [esp + 0xec], 0
add esp, 0xe0
ret
mov byte [esp + 0xec], 0
add esp, 0xe0
ret
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x38]
jmp 0x5262e9
mov ebx, dword [esp + 0x44]
xchg ebp, eax
mov byte [esp + 0x21], al
xchg ebp, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x80], esi
mov esi, dword [esp + 0x8c]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
mov eax, dword [edx + 0x58]
mov ecx, dword [edx + 0x60]
cmp eax, ecx
jbe 0x526d9f
mov dword [esp + 0x8c], esi
mov dword [esp + 0x40], edi
mov dword [esp + 0x84], ebp
mov ebp, dword [edx + 0x54]
movzx esi, byte [ebp + ecx]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
je 0x526a44
xchg esi, eax
cmp al, 9
xchg esi, eax
jne 0x52695a
xchg esi, eax
cmp al, 0x20
xchg esi, eax
jmp 0x526a44
xchg esi, eax
cmp al, 0xd
xchg esi, eax
jne 0x52696b
xchg esi, eax
cmp al, 0x20
xchg esi, eax
jmp 0x526a44
xchg esi, eax
cmp al, 0xa
xchg esi, eax
jne 0x52697c
xchg esi, eax
cmp al, 0x20
xchg esi, eax
jmp 0x526a44
xchg esi, eax
cmp al, 0xc2
xchg esi, eax
jne 0x5269a9
lea edi, [ecx + 1]
cmp eax, edi
jbe 0x526d96
lea edi, [ebp + ecx + 1]
cmp byte [edi], 0x85
jne 0x5269a5
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov edi, dword [esp + 0x40]
jmp 0x526a44
mov edi, dword [esp + 0x40]
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x5262ab
lea edi, [ecx + 1]
cmp eax, edi
jbe 0x526d8d
lea edx, [ebp + ecx + 1]
movzx edx, byte [edx]
cmp dl, 0x80
jne 0x526a00
lea ebx, [ecx + 2]
cmp eax, ebx
jbe 0x526d84
lea ebx, [ebp + ecx + 2]
cmp byte [ebx], 0xa8
jne 0x5269f5
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
jmp 0x526a44
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
mov ebx, dword [esp + 0x44]
jmp 0x526a05
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x5262a0
cmp eax, edi
jbe 0x526d7b
cmp dl, 0x80
jne 0x526293
lea edx, [ecx + 2]
cmp eax, edx
jbe 0x526d72
lea edx, [ebp + ecx + 2]
cmp byte [edx], 0xa9
jne 0x526286
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0x40]
je 0x526a51
xchg esi, eax
cmp al, 9
xchg esi, eax
jne 0x526b49
movzx ebp, byte [esp + 0x21]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x526afd
cmp dword [edx + 0x88], ebx
jge 0x526a79
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x526ca4
xchg ebp, eax
test al, al
xchg ebp, eax
jmp 0x526a7d
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x526afd
inc dword [edx + 0x80]
inc dword [edx + 0x88]
dec dword [edx + 0x64]
mov ecx, dword [edx + 0x58]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x526d6d
mov ecx, dword [edx + 0x54]
movzx ecx, byte [ecx + eax]
test cl, 0x80
jne 0x526aaf
mov ecx, 1
jmp 0x526ae4
mov esi, ecx
and ecx, 0xffffffe0
cmp cl, 0xc0
jne 0x526ac0
mov ecx, 2
jmp 0x526ae4
mov ecx, esi
and esi, 0xfffffff0
xchg esi, eax
cmp al, 0xe0
xchg esi, eax
jne 0x526ad3
mov ecx, 3
jmp 0x526ae4
and ecx, 0xfffffff8
cmp cl, 0xf0
jne 0x526ae2
mov ecx, 4
jmp 0x526ae4
xor ecx, ecx
add eax, ecx
mov dword [edx + 0x60], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x80]
jmp 0x526c3f
mov dword [esp], edx
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], eax
call fcn.0051b400
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x44]
movzx ebp, byte [esp + 0x21]
mov edi, dword [esp + 0x40]
mov esi, eax
mov eax, edx
mov edx, dword [esp + 0xe4]
jmp 0x526c3f
cmp dword [edx + 0x64], 2
jge 0x526b7b
mov dword [esp], edx
mov dword [esp + 4], 2
call fcn.00518b70
movzx eax, byte [esp + 8]
test al, al
je 0x526d41
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
movzx eax, byte [esp + 0x21]
test al, al
je 0x526bd8
mov dword [esp], edx
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xc], eax
call fcn.0051b630
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x8c]
mov ebx, eax
mov dword [esp + 0x84], ebp
mov eax, dword [esp + 0x3c]
mov ebp, ecx
movzx ecx, byte [esp + 0x21]
jmp 0x526c12
mov dword [esp], edx
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
call fcn.0051b630
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ecx, 1
xor edx, edx
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x8c], esi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebp
mov ebx, dword [esp + 0x44]
mov ebp, ecx
mov ecx, edx
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0xe4]
mov ebx, dword [edx + 0x64]
test ebx, ebx
jg 0x5268df
mov dword [esp + 0x5c], edi
mov dword [esp + 0xd8], esi
mov dword [esp + 0x58], ecx
xchg ebp, eax
mov byte [esp + 0x22], al
xchg ebp, eax
mov dword [esp + 0x54], eax
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.00518b70
movzx eax, byte [esp + 8]
test al, al
je 0x526d32
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0xe4]
movzx ebp, byte [esp + 0x22]
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0x5c]
jmp 0x5268df
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x1d
mov eax, dword [0x6d0ed8]
test eax, eax
je 0x526cc6
mov eax, dword [edx + 0x20]
call fcn.00464af0
mov dword [edi], eax
lea eax, [0x58360f]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x74]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x7c]
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x78]
mov dword [edx + 0x30], eax
mov dword [edx + 8], 0x2f
mov eax, dword [0x6d0ed8]
test eax, eax
je 0x526cff
mov eax, dword [edx + 4]
call fcn.00464af0
mov dword [edi], eax
lea eax, [0x587f2f]
mov dword [edx + 4], eax
mov eax, dword [edx + 0x80]
mov ecx, dword [edx + 0x84]
mov ebx, dword [edx + 0x88]
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], ecx
mov dword [edx + 0x1c], ebx
mov byte [esp + 0xec], 0
add esp, 0xe0
ret
mov byte [esp + 0xec], 0
add esp, 0xe0
ret
mov byte [esp + 0xec], 0
add esp, 0xe0
ret
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x38]
jmp 0x5262e9
call fcn.00464b70
mov ecx, eax
mov eax, edx
call fcn.00464b70
mov ecx, eax
mov eax, edi
call fcn.00464b70
mov ecx, eax
mov eax, ebx
call fcn.00464b70
mov ecx, eax
mov eax, edi
call fcn.00464b70
mov ecx, eax
mov eax, edi
call fcn.00464b70
mov edx, eax
mov eax, ecx
mov ecx, edx
call fcn.00464b70
mov eax, ebp
call fcn.00464b70
mov eax, esi
call fcn.00464b70
mov eax, edi
call fcn.00464b70
mov eax, esi
call fcn.00464b70
mov eax, esi
call fcn.00464b70
call fcn.00464b70
xor eax, eax
mov ecx, eax
call fcn.00464b70
call fcn.00464b70
call fcn.00464b70
mov eax, esi
mov ecx, ebx
call fcn.00464b70
mov ecx, ebx
call fcn.00464b70
mov ecx, ebx
call fcn.00464b70
mov eax, ecx
mov ecx, ebx
call fcn.00464b70
mov eax, ecx
mov ecx, ebx
call fcn.00464b70
mov eax, esi
mov ecx, ebx
call fcn.00464b70
nop
call fcn.004636f0
jmp fcn.00525f00