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

Disassembly:
push 0xffffffffffffffff
push 0x5dd9f6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x110
push ebx
xor ebx, ebx
push esi
push edi
mov dword [esp + 0x64], 0x5e5238
mov word [esp + 0x68], 0xffff
mov word [esp + 0x6a], bx
mov al, byte [esp + 0x1f]
mov dword [esp + 0x124], ebx
mov byte [esp + 0x2c], al
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
lea ecx, [esp + 0x24]
mov byte [esp + 0x124], 1
call fcn.00558060
push 6
push 0x60f2a0
lea ecx, [esp + 0x44]
mov byte [esp + 0x12c], 2
call fcn.00558100
push 6
push 0x60f318
lea ecx, [esp + 0x30]
mov byte [esp + 0x12c], 3
call fcn.00558100
mov esi, dword [esp + 0x12c]
lea ecx, [esp + 0x28]
push esi
push 5
mov byte [esp + 0x12c], 4
call fcn.005584a0
mov cx, word [0x60ec18]
xor eax, eax
mov dword [esp + 0x53], eax
mov dl, byte [0x60ec1a]
mov dword [esp + 0x57], eax
mov word [esp + 0x50], cx
mov dword [esp + 0x5b], eax
mov byte [esp + 0x40], 0x10
movsx ecx, si
mov dword [esp + 0x5f], eax
mov byte [esp + 0x41], 0x12
mov byte [esp + 0x42], 0x13
mov byte [esp + 0x43], 0x14
mov byte [esp + 0x44], 0x15
mov byte [esp + 0x45], 0x31
mov byte [esp + 0x46], 0x34
mov byte [esp + 0x47], 0x35
mov byte [esp + 0x48], 0x40
mov byte [esp + 0x49], 0x62
mov byte [esp + 0x4a], 0x42
mov byte [esp + 0x63], al
mov al, byte [esp + ecx + 0x40]
mov byte [esp + 0x52], dl
cmp al, 0x12
mov byte [esp + 0x18], al
je 0x52bee5
cmp al, 0x13
je 0x52bee5
cmp al, 0x14
je 0x52bee5
cmp al, 0x15
je 0x52bee5
cmp al, 0x31
je 0x52bee5
cmp al, 0x35
jne 0x52bf91
push ebx
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x609448
call fcn.00558100
push ecx
mov byte [esp + 0x134], 5
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x60f310
call fcn.00558100
mov ecx, 0x619a58
mov byte [esp + 0x134], 4
call fcn.00543af0
cmp ax, 4
jne 0x52bf8d
lea ecx, [esp + 0x28]
mov byte [esp + 0x124], 3
call fcn.005581a0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x124], 2
call fcn.005581a0
lea ecx, [esp + 0x24]
mov byte [esp + 0x124], 1
call fcn.005581a0
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
cmp esi, eax
mov byte [esp + 0x124], bl
mov edi, eax
je 0x52ce2f
mov ecx, esi
call fcn.005581a0
add esi, 4
cmp esi, edi
jne 0x52bf7a
jmp 0x52ce2b
mov al, byte [esp + 0x18]
cmp al, 0x34
je 0x52bf9d
cmp al, 0x62
jne 0x52c049
push ebx
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x609448
call fcn.00558100
push ecx
mov byte [esp + 0x134], 6
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x60f308
call fcn.00558100
mov ecx, 0x619a58
mov byte [esp + 0x134], 4
call fcn.00543af0
cmp ax, 4
jne 0x52c045
lea ecx, [esp + 0x28]
mov byte [esp + 0x124], 3
call fcn.005581a0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x124], 2
call fcn.005581a0
lea ecx, [esp + 0x24]
mov byte [esp + 0x124], 1
call fcn.005581a0
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
cmp esi, eax
mov byte [esp + 0x124], bl
mov edi, eax
je 0x52ce2f
mov ecx, esi
call fcn.005581a0
add esi, 4
cmp esi, edi
jne 0x52c032
jmp 0x52ce2b
mov al, byte [esp + 0x18]
cmp al, 0x35
je 0x52c059
cmp al, 0x40
je 0x52c059
cmp al, 0x42
jne 0x52c106
push ebx
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x609448
call fcn.00558100
push ecx
mov byte [esp + 0x134], 7
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x60f300
call fcn.00558100
mov ecx, 0x619a58
mov byte [esp + 0x134], 4
call fcn.00543af0
cmp ax, 4
jne 0x52c106
lea ecx, [esp + 0x28]
mov byte [esp + 0x124], 3
call fcn.005581a0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x124], 2
call fcn.005581a0
lea ecx, [esp + 0x24]
mov byte [esp + 0x124], 1
call fcn.005581a0
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
cmp esi, eax
mov byte [esp + 0x124], bl
mov edi, eax
je 0x52ce2f
mov ecx, esi
call fcn.005581a0
add esi, 4
cmp esi, edi
jne 0x52c0ee
jmp 0x52ce2b
call fcn.005581a0
push ecx
lea edx, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.00558070
mov ecx, dword [0x619a64]
call fcn.00548370
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x60f2f8
call fcn.00558100
mov ecx, dword [0x619a64]
call fcn.005484f0
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x60f2f0
call fcn.00558100
mov ecx, dword [0x619a64]
call fcn.005484f0
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x60f2e8
call fcn.00558100
mov ecx, dword [0x619a64]
call fcn.005484f0
mov al, byte [esp + 0x1f]
sub esp, 0x10
mov edx, esp
lea edi, [esp + 0x60]
or ecx, 0xffffffff
mov dword [esp + 0x20], esp
mov byte [edx], al
xor eax, eax
mov dword [edx + 4], ebx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x64]
push ecx
mov ecx, edx
call fcn.004017b0
push ecx
lea edx, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0x13c], 8
call fcn.00558070
mov ecx, dword [0x619a64]
mov byte [esp + 0x138], 4
call fcn.00548570
mov ecx, dword [0x619a64]
call fcn.00548950
cmp ax, 2
je 0x52ccdb
cmp ax, bx
jne 0x52c753
cmp byte [0x619c14], bl
je 0x52c454
push ebx
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x609448
call fcn.00558100
push ecx
mov byte [esp + 0x134], 0xa
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x60f2e0
call fcn.00558100
mov ecx, 0x619a58
mov byte [esp + 0x134], 4
call fcn.00543af0
push 0x320
call fcn.00401520
mov al, byte [esp + 0x1c]
add esp, 4
cmp al, 0x31
jne 0x52c2f7
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 6
push 0x60f2d8
call fcn.00558100
lea eax, [esp + 0x44]
push eax
call fcn.00560f40
mov eax, dword [eax + 4]
add esp, 8
cmp eax, ebx
jne 0x52c28f
mov eax, 0x5e514c
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x50]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x44]
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
je 0x52c2e6
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x52c2dd
cmp al, 0xff
je 0x52c2dd
dec al
mov byte [ecx], al
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
jmp 0x52c106
push ecx
call fcn.005bc500
add esp, 4
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
jmp 0x52c106
push ecx
cmp al, 0x35
mov ecx, esp
jne 0x52c3ab
mov dword [esp + 0x10], esp
push 6
push 0x60f2d0
call fcn.00558100
lea ecx, [esp + 0xe0]
push ecx
call fcn.00560f40
mov eax, dword [eax + 4]
add esp, 8
cmp eax, ebx
jne 0x52c32e
mov eax, 0x5e514c
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x50]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0xe0]
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
je 0x52c391
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x52c388
cmp al, 0xff
je 0x52c388
dec al
mov byte [ecx], al
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
jmp 0x52c106
push ecx
call fcn.005bc500
add esp, 4
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
jmp 0x52c106
mov dword [esp + 0x10], esp
push 6
push 0x60f2c8
call fcn.00558100
lea ecx, [esp + 0x110]
push ecx
call fcn.00560f40
mov eax, dword [eax + 4]
add esp, 8
cmp eax, ebx
jne 0x52c3d7
mov eax, 0x5e514c
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x50]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x110]
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
je 0x52c43a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x52c431
cmp al, 0xff
je 0x52c431
dec al
mov byte [ecx], al
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ebx
jmp 0x52c106
push ecx
call fcn.005bc500
add esp, 4
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ebx
jmp 0x52c106
push 4
push 0x60e98c
lea ecx, [esp + 0x28]
call fcn.00558100
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x124], 0xb
push ecx
push 1
lea ecx, [esp + 0x28]
call fcn.005584a0
lea edx, [esp + 0x2c]
lea eax, [esp + 0x20]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.00558070
mov ecx, 0x626b00
call fcn.00517240
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x52cd30
mov ecx, dword [esp + 0x34]
sub ecx, eax
test ecx, 0xfffffffc
je 0x52cd30
push ebx
lea ecx, [esp + 0x30]
call fcn.00402a80
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push eax
call fcn.00558070
lea ecx, [esp + 0x28]
call fcn.00558390
push ebx
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x609448
call fcn.00558100
push ecx
mov byte [esp + 0x134], 0xd
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x60f2e0
call fcn.00558100
mov ecx, 0x619a58
mov byte [esp + 0x134], 0xb
call fcn.00543af0
push 0x320
call fcn.00401520
mov al, byte [esp + 0x1c]
add esp, 4
cmp al, 0x31
jne 0x52c5f9
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 6
push 0x60f2d8
call fcn.00558100
lea edx, [esp + 0x100]
push edx
call fcn.00560f40
mov eax, dword [eax + 4]
add esp, 8
cmp eax, ebx
jne 0x52c564
mov eax, 0x5e514c
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x50]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x100]
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
je 0x52c5d3
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x52c5ca
cmp al, 0xff
je 0x52c5ca
dec al
mov byte [esp + 0x124], 4
mov byte [ecx], al
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
lea ecx, [esp + 0x20]
jmp 0x52c101
push ecx
call fcn.005bc500
add esp, 4
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
mov byte [esp + 0x124], 4
lea ecx, [esp + 0x20]
jmp 0x52c101
push ecx
cmp al, 0x35
mov ecx, esp
jne 0x52c6c5
mov dword [esp + 0x10], esp
push 6
push 0x60f2d0
call fcn.00558100
lea ecx, [esp + 0xa0]
push ecx
call fcn.00560f40
mov eax, dword [eax + 4]
add esp, 8
cmp eax, ebx
jne 0x52c630
mov eax, 0x5e514c
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x50]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0xa0]
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
je 0x52c69f
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x52c696
cmp al, 0xff
je 0x52c696
dec al
mov byte [esp + 0x124], 4
mov byte [ecx], al
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
lea ecx, [esp + 0x20]
jmp 0x52c101
push ecx
call fcn.005bc500
add esp, 4
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov byte [esp + 0x124], 4
lea ecx, [esp + 0x20]
jmp 0x52c101
mov dword [esp + 0x10], esp
push 6
push 0x60f2c8
call fcn.00558100
lea ecx, [esp + 0x70]
push ecx
call fcn.00560f40
mov eax, dword [eax + 4]
add esp, 8
cmp eax, ebx
jne 0x52c6ee
mov eax, 0x5e514c
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x50]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x70]
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
je 0x52c736
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x52c72d
cmp al, 0xff
je 0x52c72d
dec al
mov byte [ecx], al
jmp 0x52c736
push ecx
call fcn.005bc500
add esp, 4
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov byte [esp + 0x124], 4
lea ecx, [esp + 0x20]
jmp 0x52c101
cmp ax, 1
jne 0x52c106
cmp byte [0x619c14], bl
je 0x52c9cd
push ebx
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x609448
call fcn.00558100
push ecx
mov byte [esp + 0x134], 0xe
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x60f2e0
call fcn.00558100
mov ecx, 0x619a58
mov byte [esp + 0x134], 4
call fcn.00543af0
push 0x320
call fcn.00401520
mov al, byte [esp + 0x1c]
add esp, 4
cmp al, 0x31
jne 0x52c870
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 6
push 0x60f2c0
call fcn.00558100
lea ecx, [esp + 0xc0]
push ecx
call fcn.00560f40
mov eax, dword [eax + 4]
add esp, 8
cmp eax, ebx
jne 0x52c7f3
mov eax, 0x5e514c
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x50]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0xc0]
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
je 0x52c856
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x52c84d
cmp al, 0xff
je 0x52c84d
dec al
mov byte [ecx], al
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
jmp 0x52c106
push ecx
call fcn.005bc500
add esp, 4
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
jmp 0x52c106
push ecx
cmp al, 0x35
mov ecx, esp
jne 0x52c924
mov dword [esp + 0x10], esp
push 6
push 0x60f2b8
call fcn.00558100
lea ecx, [esp + 0x80]
push ecx
call fcn.00560f40
mov eax, dword [eax + 4]
add esp, 8
cmp eax, ebx
jne 0x52c8a7
mov eax, 0x5e514c
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x50]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x80]
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
je 0x52c90a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x52c901
cmp al, 0xff
je 0x52c901
dec al
mov byte [ecx], al
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
jmp 0x52c106
push ecx
call fcn.005bc500
add esp, 4
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
jmp 0x52c106
mov dword [esp + 0x10], esp
push 6
push 0x60f2b0
call fcn.00558100
lea ecx, [esp + 0x90]
push ecx
call fcn.00560f40
mov eax, dword [eax + 4]
add esp, 8
cmp eax, ebx
jne 0x52c950
mov eax, 0x5e514c
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x50]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x90]
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
je 0x52c9b3
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x52c9aa
cmp al, 0xff
je 0x52c9aa
dec al
mov byte [ecx], al
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
jmp 0x52c106
push ecx
call fcn.005bc500
add esp, 4
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
jmp 0x52c106
push 4
push 0x60e96c
lea ecx, [esp + 0x1c]
call fcn.00558100
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x124], 0xf
push ecx
push 1
lea ecx, [esp + 0x1c]
call fcn.005584a0
lea edx, [esp + 0x2c]
lea eax, [esp + 0x14]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.00558070
mov ecx, 0x626b00
call fcn.00517240
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x52cd81
mov ecx, dword [esp + 0x34]
sub ecx, eax
test ecx, 0xfffffffc
je 0x52cd81
push ebx
lea ecx, [esp + 0x30]
call fcn.00402a80
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push eax
call fcn.00558070
lea ecx, [esp + 0x28]
call fcn.00558390
push ebx
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x609448
call fcn.00558100
push ecx
mov byte [esp + 0x134], 0x11
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x60f2e0
call fcn.00558100
mov ecx, 0x619a58
mov byte [esp + 0x134], 0xf
call fcn.00543af0
push 0x320
call fcn.00401520
mov al, byte [esp + 0x1c]
add esp, 4
cmp al, 0x31
jne 0x52cb72
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 6
push 0x60f2c0
call fcn.00558100
lea edx, [esp + 0xb0]
push edx
call fcn.00560f40
mov eax, dword [eax + 4]
add esp, 8
cmp eax, ebx
jne 0x52cadd
mov eax, 0x5e514c
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x50]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0xb0]
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
je 0x52cb4c
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x52cb43
cmp al, 0xff
je 0x52cb43
dec al
mov byte [esp + 0x124], 4
mov byte [ecx], al
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
lea ecx, [esp + 0x14]
jmp 0x52c101
push ecx
call fcn.005bc500
add esp, 4
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov byte [esp + 0x124], 4
lea ecx, [esp + 0x14]
jmp 0x52c101
push ecx
cmp al, 0x35
mov ecx, esp
jne 0x52cc3e
mov dword [esp + 0x10], esp
push 6
push 0x60f2b8
call fcn.00558100
lea ecx, [esp + 0xd0]
push ecx
call fcn.00560f40
mov eax, dword [eax + 4]
add esp, 8
cmp eax, ebx
jne 0x52cba9
mov eax, 0x5e514c
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x50]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0xd0]
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
je 0x52cc18
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x52cc0f
cmp al, 0xff
je 0x52cc0f
dec al
mov byte [esp + 0x124], 4
mov byte [ecx], al
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
lea ecx, [esp + 0x14]
jmp 0x52c101
push ecx
call fcn.005bc500
add esp, 4
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
mov byte [esp + 0x124], 4
lea ecx, [esp + 0x14]
jmp 0x52c101
mov dword [esp + 0x10], esp
push 6
push 0x60f2b0
call fcn.00558100
lea ecx, [esp + 0xf0]
push ecx
call fcn.00560f40
mov eax, dword [eax + 4]
add esp, 8
cmp eax, ebx
jne 0x52cc6a
mov eax, 0x5e514c
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x50]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0xf0]
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
je 0x52ccb5
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x52ccac
cmp al, 0xff
je 0x52ccac
dec al
mov byte [ecx], al
jmp 0x52ccb5
push ecx
call fcn.005bc500
add esp, 4
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
mov byte [esp + 0x124], 4
lea ecx, [esp + 0x14]
jmp 0x52c101
cmp byte [0x619c14], bl
jne 0x52cdd5
push 2
push 0x60a9e4
lea ecx, [esp + 0x1c]
call fcn.00558100
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x14]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
mov byte [esp + 0x130], 9
call fcn.00558070
mov ecx, 0x626b00
call fcn.00517240
mov byte [esp + 0x124], 4
lea ecx, [esp + 0x14]
jmp 0x52cdd0
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x609448
call fcn.00558100
push ecx
mov byte [esp + 0x134], 0xc
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x60f2a8
call fcn.00558100
mov ecx, 0x619a58
mov byte [esp + 0x134], 0xb
call fcn.00543af0
mov byte [esp + 0x124], 4
lea ecx, [esp + 0x20]
jmp 0x52cdd0
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x609448
call fcn.00558100
push ecx
mov byte [esp + 0x134], 0x10
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x60f2a8
call fcn.00558100
mov ecx, 0x619a58
mov byte [esp + 0x134], 0xf
call fcn.00543af0
mov byte [esp + 0x124], 4
lea ecx, [esp + 0x14]
call fcn.005581a0
lea ecx, [esp + 0x28]
mov byte [esp + 0x124], 3
call fcn.005581a0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x124], 2
call fcn.005581a0
lea ecx, [esp + 0x24]
mov byte [esp + 0x124], 1
call fcn.005581a0
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
cmp esi, eax
mov byte [esp + 0x124], bl
mov edi, eax
je 0x52ce2f
mov ecx, esi
call fcn.005581a0
add esi, 4
cmp esi, edi
jne 0x52ce1d
mov esi, dword [esp + 0x30]
push esi
call fcn.005bc500
mov ecx, dword [esp + 0x120]
add esp, 4
xor ax, ax
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x11c
ret 4