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

Disassembly:
push 0xffffffffffffffff
push 0x5a42c0
mov eax, dword fs:[0]
push eax
sub esp, 0xcc
push ebx
push esi
push edi
mov eax, dword [0x60aecc]
xor eax, esp
push eax
lea eax, [esp + 0xdc]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0xcc], ebx
mov esi, dword [esp + 0xec]
mov ecx, esi
mov dword [esp + 0xe4], ebx
call fcn.00496d90
mov eax, dword [esp + 0xf0]
cmp eax, ebx
mov edi, 1
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xcc], edi
je 0x505e4b
mov dword [esp + 0x10], ebx
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x5055b3
sub eax, edx
je 0x505e4b
jmp 0x5055d0
mov ecx, dword [esp + 0xf0]
mov eax, dword [esp + 0x10]
mov al, byte [eax + ecx]
movsx ecx, al
add ecx, 0xffffffe0
cmp ecx, 0x5d
ja case.0x5055f4.33
movzx edx, byte [ecx + 0x505ecc]
jmp dword [edx*4 + 0x505e68]
push 0x5cb05c
lea ecx, [esp + 0x80]
call fcn.00496da0
push eax
lea eax, [esp + 0xdc]
push eax
mov ecx, esi
mov dword [esp + 0xec], edi
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 2
call fcn.00497360
lea ecx, [esp + 0xd8]
mov byte [esp + 0xe4], 1
call fcn.00497320
lea ecx, [esp + 0x7c]
jmp 0x505e1c
push 0x5cb058
lea ecx, [esp + 0xb0]
call fcn.00496da0
push eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov dword [esp + 0xec], 3
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 4
call fcn.00497360
lea ecx, [esp + 0x24]
mov byte [esp + 0xe4], 3
call fcn.00497320
lea ecx, [esp + 0xac]
jmp 0x505e1c
push 0x5cb054
lea ecx, [esp + 0x88]
call fcn.00496da0
push eax
lea edx, [esp + 0x30]
push edx
mov ecx, esi
mov dword [esp + 0xec], 5
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 6
call fcn.00497360
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe4], 5
call fcn.00497320
lea ecx, [esp + 0x84]
jmp 0x505e1c
push 0x5cb050
lea ecx, [esp + 0xc8]
call fcn.00496da0
push eax
lea eax, [esp + 0x38]
push eax
mov ecx, esi
mov dword [esp + 0xec], 7
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 8
call fcn.00497360
lea ecx, [esp + 0x34]
mov byte [esp + 0xe4], 7
call fcn.00497320
lea ecx, [esp + 0xc4]
jmp 0x505e1c
push 0x5cb04c
lea ecx, [esp + 0x90]
call fcn.00496da0
push eax
lea ecx, [esp + 0x40]
push ecx
mov ecx, esi
mov dword [esp + 0xec], 9
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0xa
call fcn.00497360
lea ecx, [esp + 0x3c]
mov byte [esp + 0xe4], 9
call fcn.00497320
lea ecx, [esp + 0x8c]
jmp 0x505e1c
push 0x5cb048
lea ecx, [esp + 0xb8]
call fcn.00496da0
push eax
lea edx, [esp + 0x48]
push edx
mov ecx, esi
mov dword [esp + 0xec], 0xb
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0xc
call fcn.00497360
lea ecx, [esp + 0x44]
mov byte [esp + 0xe4], 0xb
call fcn.00497320
lea ecx, [esp + 0xb4]
jmp 0x505e1c
push 0x5cb044
lea ecx, [esp + 0x98]
call fcn.00496da0
push eax
lea eax, [esp + 0x50]
push eax
mov ecx, esi
mov dword [esp + 0xec], 0xd
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0xe
call fcn.00497360
lea ecx, [esp + 0x4c]
mov byte [esp + 0xe4], 0xd
call fcn.00497320
lea ecx, [esp + 0x94]
jmp 0x505e1c
push 0x5cb040
lea ecx, [esp + 0xd8]
call fcn.00496da0
push eax
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
mov dword [esp + 0xec], 0xf
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0x10
call fcn.00497360
lea ecx, [esp + 0x54]
mov byte [esp + 0xe4], 0xf
call fcn.00497320
lea ecx, [esp + 0xd4]
jmp 0x505e1c
push 0x5cb03c
lea ecx, [esp + 0xa0]
call fcn.00496da0
push eax
lea edx, [esp + 0x60]
push edx
mov ecx, esi
mov dword [esp + 0xec], 0x11
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0x12
call fcn.00497360
lea ecx, [esp + 0x5c]
mov byte [esp + 0xe4], 0x11
call fcn.00497320
lea ecx, [esp + 0x9c]
jmp 0x505e1c
push 0x5cb038
lea ecx, [esp + 0xc0]
call fcn.00496da0
push eax
lea eax, [esp + 0x68]
push eax
mov ecx, esi
mov dword [esp + 0xec], 0x13
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0x14
call fcn.00497360
lea ecx, [esp + 0x64]
mov byte [esp + 0xe4], 0x13
call fcn.00497320
lea ecx, [esp + 0xbc]
jmp 0x505e1c
push 0x5cb034
lea ecx, [esp + 0xa8]
call fcn.00496da0
push eax
lea ecx, [esp + 0x70]
push ecx
mov ecx, esi
mov dword [esp + 0xec], 0x15
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0x16
call fcn.00497360
lea ecx, [esp + 0x6c]
mov byte [esp + 0xe4], 0x15
call fcn.00497320
lea ecx, [esp + 0xa4]
jmp 0x505e1c
push 0x5cb030
lea ecx, [esp + 0x1c]
call fcn.00496da0
push eax
lea edx, [esp + 0x78]
push edx
mov ecx, esi
mov dword [esp + 0xec], 0x17
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0x18
call fcn.00497360
lea ecx, [esp + 0x74]
mov byte [esp + 0xe4], 0x17
call fcn.00497320
lea ecx, [esp + 0x18]
jmp 0x505e1c
push 0x5cb02c
lea ecx, [esp + 0x24]
call fcn.00496da0
push eax
lea eax, [esp + 0x20]
push eax
mov ecx, esi
mov dword [esp + 0xec], 0x19
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0x1a
call fcn.00497360
lea ecx, [esp + 0x1c]
mov byte [esp + 0xe4], 0x19
call fcn.00497320
lea ecx, [esp + 0x20]
jmp 0x505e1c
push 0x5cb028
lea ecx, [esp + 0x34]
call fcn.00496da0
push eax
lea ecx, [esp + 0x2c]
push ecx
mov ecx, esi
mov dword [esp + 0xec], 0x1b
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0x1c
call fcn.00497360
lea ecx, [esp + 0x28]
mov byte [esp + 0xe4], 0x1b
call fcn.00497320
lea ecx, [esp + 0x30]
jmp 0x505e1c
push 0x5cb024
lea ecx, [esp + 0x44]
call fcn.00496da0
push eax
lea edx, [esp + 0x3c]
push edx
mov ecx, esi
mov dword [esp + 0xec], 0x1d
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0x1e
call fcn.00497360
lea ecx, [esp + 0x38]
mov byte [esp + 0xe4], 0x1d
call fcn.00497320
lea ecx, [esp + 0x40]
jmp 0x505e1c
push 0x5cb020
lea ecx, [esp + 0x54]
call fcn.00496da0
push eax
lea eax, [esp + 0x4c]
push eax
mov ecx, esi
mov dword [esp + 0xec], 0x1f
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0x20
call fcn.00497360
lea ecx, [esp + 0x48]
mov byte [esp + 0xe4], 0x1f
call fcn.00497320
lea ecx, [esp + 0x50]
jmp 0x505e1c
push 0x5cb01c
lea ecx, [esp + 0x64]
call fcn.00496da0
push eax
lea ecx, [esp + 0x5c]
push ecx
mov ecx, esi
mov dword [esp + 0xec], 0x21
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0x22
call fcn.00497360
lea ecx, [esp + 0x58]
mov byte [esp + 0xe4], 0x21
call fcn.00497320
lea ecx, [esp + 0x60]
jmp 0x505e1c
push 0x5cb018
lea ecx, [esp + 0x74]
call fcn.00496da0
push eax
lea edx, [esp + 0x6c]
push edx
mov ecx, esi
mov dword [esp + 0xec], 0x23
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0x24
call fcn.00497360
lea ecx, [esp + 0x68]
mov byte [esp + 0xe4], 0x23
call fcn.00497320
lea ecx, [esp + 0x70]
jmp 0x505e1c
push 0x5cb014
lea ecx, [esp + 0x84]
call fcn.00496da0
push eax
lea eax, [esp + 0x7c]
push eax
mov ecx, esi
mov dword [esp + 0xec], 0x25
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0x26
call fcn.00497360
lea ecx, [esp + 0x78]
mov byte [esp + 0xe4], 0x25
call fcn.00497320
lea ecx, [esp + 0x80]
jmp 0x505e1c
push 0x5cb010
lea ecx, [esp + 0x94]
call fcn.00496da0
push eax
lea ecx, [esp + 0x8c]
push ecx
mov ecx, esi
mov dword [esp + 0xec], 0x27
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0x28
call fcn.00497360
lea ecx, [esp + 0x88]
mov byte [esp + 0xe4], 0x27
call fcn.00497320
lea ecx, [esp + 0x90]
jmp 0x505e1c
push 0x5cb00c
lea ecx, [esp + 0xa4]
call fcn.00496da0
push eax
lea edx, [esp + 0x9c]
push edx
mov ecx, esi
mov dword [esp + 0xec], 0x29
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0x2a
call fcn.00497360
lea ecx, [esp + 0x98]
mov byte [esp + 0xe4], 0x29
call fcn.00497320
lea ecx, [esp + 0xa0]
jmp 0x505e1c
push 0x5cb008
lea ecx, [esp + 0xb4]
call fcn.00496da0
push eax
lea eax, [esp + 0xac]
push eax
mov ecx, esi
mov dword [esp + 0xec], 0x2b
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0x2c
call fcn.00497360
lea ecx, [esp + 0xa8]
mov byte [esp + 0xe4], 0x2b
call fcn.00497320
lea ecx, [esp + 0xb0]
jmp 0x505e1c
push 0x5cb004
lea ecx, [esp + 0xc4]
call fcn.00496da0
push eax
lea ecx, [esp + 0xbc]
push ecx
mov ecx, esi
mov dword [esp + 0xec], 0x2d
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0x2e
call fcn.00497360
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe4], 0x2d
call fcn.00497320
lea ecx, [esp + 0xc0]
jmp 0x505e1c
push 0x5cb000
lea ecx, [esp + 0xd4]
call fcn.00496da0
push eax
lea edx, [esp + 0xcc]
push edx
mov ecx, esi
mov dword [esp + 0xec], 0x2f
call fcn.004974a0
push eax
mov ecx, esi
mov byte [esp + 0xe8], 0x30
call fcn.00497360
lea ecx, [esp + 0xc8]
mov byte [esp + 0xe4], 0x2f
call fcn.00497320
lea ecx, [esp + 0xd0]
jmp 0x505e1c
push eax
lea eax, [esp + 0x18]
push eax
mov ecx, esi
call fcn.00497620
push eax
mov ecx, esi
mov dword [esp + 0xe8], 0x31
call fcn.00497360
lea ecx, [esp + 0x14]
mov byte [esp + 0xe4], bl
call fcn.00497320
mov eax, dword [esp + 0xf0]
add dword [esp + 0x10], edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x505e36
sub eax, edx
cmp dword [esp + 0x10], eax
jb 0x5055d0
mov eax, esi
mov ecx, dword [esp + 0xdc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 0xd8
ret