Function at 0x517030
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, ecx
push ebx
sub esp, 0xbc
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
mov edx, eax
xor eax, eax
test edx, edx
je 0x517078
js 0x5170b0
sub edx, 0xb
cmp edx, 1
ja 0x5170b0
cmp dword [ebp + 8], 4
je 0x5170b0
cmp dword [esi + 8], 2
je 0x517900
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
cmp eax, 0xc
je 0x517082
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
cmp dword [ebp + 8], 0x19e
jne case.0x5171a9.0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x10]
test eax, eax
je case.0x5171a9.0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x10]
cmp dword [eax + 0x80], 0x19c
jne case.0x5171a9.0
lea esi, [esi]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x70]
mov ecx, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.005d21d0
sub esp, 4
test al, al
je 0x5170d5
mov eax, ebx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x50]
test edx, edx
jne case.0x5171a9.0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xa4]
test al, al
jne case.0x5171a9.0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x4c]
test eax, eax
jne case.0x5171a9.0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x6c]
test al, al
jne case.0x5171a9.0
cmp dword [ebp + 8], 0xde
jle 0x5179e8
cmp dword [ebp + 8], 0x146
je 0x51796b
jg 0x517b80
cmp dword [ebp + 8], 0x140
je 0x517975
nop
jle 0x51797f
cmp dword [ebp + 8], 0x143
je 0x517bba
jg 0x5179c4
cmp dword [ebp + 8], 0x141
je 0x517961
cmp dword [ebp + 8], 0x142
mov edi, 9
jne 0x51793d
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x14]
test eax, eax
je 0x5171a0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x14]
mov ecx, esi
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00515970
sub esp, 8
jmp 0x517078
cmp edi, 0xa
ja case.0x5171a9.0
jmp dword [edi*4 + 0x6d26d0]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
cmp eax, 9
ja case.0x5171a9.0
jmp dword [eax*4 + 0x6d26fc]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
cmp eax, 0xa
ja case.0x5171a9.0
jmp dword [eax*4 + 0x6d2724]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
cmp eax, 0xa
ja case.0x5171a9.0
nop
jmp dword [eax*4 + 0x6d2750]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
cmp eax, 0xa
ja case.0x5171a9.0
jmp dword [eax*4 + 0x6d277c]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
cmp eax, 0xa
ja case.0x5171a9.0
nop
jmp dword [eax*4 + 0x6d27a8]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
cmp eax, 0xa
ja case.0x5171a9.0
jmp dword [eax*4 + 0x6d27d4]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
cmp eax, 0xa
ja case.0x5171a9.0
nop
jmp dword [eax*4 + 0x6d2800]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
cmp eax, 0xa
ja case.0x5171a9.0
jmp dword [eax*4 + 0x6d282c]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
cmp eax, 0xa
ja case.0x5171a9.0
nop
jmp dword [eax*4 + 0x6d2858]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
cmp eax, 0xa
ja case.0x5171a9.0
jmp dword [eax*4 + 0x6d2884]
mov dword [ebp - 0x9c], 0x38
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x90]
mov ecx, ebx
mov dword [ebp - 0xa4], eax
mov eax, dword [ebx]
call dword [eax + 0x8c]
mov ecx, ebx
mov dword [ebp - 0xa0], eax
mov eax, dword [ebx]
call dword [eax + 0x88]
mov edx, dword [ebp - 0xa4]
lea ecx, [ebp - 0x84]
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 4], 0
mov dword [esp + 0x10], edx
mov edx, dword [ebp - 0xa0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.005b3f70
mov eax, dword [ebx]
mov ecx, ebx
sub esp, 0x18
call dword [eax]
mov edi, dword [eax]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], edi
mov dword [ebp - 0x90], ecx
mov dword [esp + 0xc], ecx
mov ecx, esi
mov dword [ebp - 0x88], eax
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x9c]
mov dword [esp + 0x10], edx
mov dword [esp + 4], ebx
mov dword [ebp - 0x94], edi
mov dword [esp], eax
mov dword [ebp - 0x8c], edx
call fcn.00513260
lea edx, [ebp - 0x84]
mov edi, eax
mov eax, dword [eax]
sub esp, 0x18
mov ecx, edi
mov eax, dword [eax + 0x6c]
mov dword [esp], edx
call eax
mov eax, dword [ebx]
mov ecx, ebx
sub esp, 4
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x30]
test byte [eax + 9], 0x40
jne 0x51738d
mov eax, edi
jmp 0x517078
mov dword [esp], edi
mov ecx, esi
call fcn.00515850
sub esp, 4
test al, al
je 0x517386
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x74]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x2c]
movzx edx, byte [eax + 4]
or byte [eax + 9], 0x40
and edx, 0xffffffc0
or edx, 2
mov byte [eax + 4], dl
mov eax, edi
jmp 0x517078
mov dword [ebp - 0x9c], 0x65
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x54
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x3e
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x3d
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x3a
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x39
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x3c
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x3b
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x60
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x4f
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x13
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x63
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x52
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x19
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x18
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x16
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x15
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x42
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x17
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x64
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x53
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x2b
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x2a
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x27
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x26
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x43
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x28
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x61
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x50
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x1f
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x1e
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x1a
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x40
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x1d
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x1b
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x5f
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x5e
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x5d
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x59
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x58
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x5c
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x5b
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x5a
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x67
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x56
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x37
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x34
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x33
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x45
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x36
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x35
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x66
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x55
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x31
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x2e
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x2d
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x44
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x30
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x2f
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x12
jmp 0x5172a8
mov dword [ebp - 0x9c], 0xf
jmp 0x5172a8
mov dword [ebp - 0x9c], 0xe
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x3f
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x11
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x10
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x57
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x46
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x4e
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x4d
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x4c
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x48
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x47
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x4b
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x4a
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x49
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x2c
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x1c
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x32
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x14
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x29
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x22
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x62
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x51
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x25
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x24
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x20
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x41
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x23
jmp 0x5172a8
mov dword [ebp - 0x9c], 0x21
jmp 0x5172a8
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
cmp eax, 0xc
jne 0x51706a
jmp 0x5170b0
cmp dword [ebp + 8], 0x68
jge 0x517a92
cmp dword [ebp + 8], 3
je 0x517a92
cmp dword [ebp + 8], 7
je 0x517a92
cmp dword [ebp + 8], 1
je 0x517a92
mov eax, dword [ebp + 0xc]
mov ecx, ebx
movzx esi, byte [eax + 4]
mov eax, dword [ebx]
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
cmp eax, esi
jne case.0x5171a9.0
mov eax, ebx
jmp 0x5170cb
mov edi, 8
jmp 0x517178
mov edi, 3
jmp 0x517178
mov edi, 7
jmp 0x517178
cmp dword [ebp + 8], 0x13d
je 0x5179b0
jle 0x517c4e
cmp dword [ebp + 8], 0x13e
je 0x5179ba
cmp dword [ebp + 8], 0x13f
mov edi, 6
je 0x517178
jmp 0x51793d
mov edi, 4
jmp 0x517178
mov edi, 5
jmp 0x517178
cmp dword [ebp + 8], 0x144
je 0x517bb0
cmp dword [ebp + 8], 0x145
mov edi, 2
je 0x517178
jmp 0x51793d
cmp dword [ebp + 8], 0xdc
jge 0x517a92
cmp dword [ebp + 8], 0x79
jg 0x517a5e
cmp dword [ebp + 8], 0x76
jge 0x517a92
cmp dword [ebp + 8], 0x6c
jle 0x517915
cmp dword [ebp + 8], 0x6e
jg 0x517c2d
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 4]
mov byte [ebp - 0x9c], al
sub eax, 4
cmp al, 5
jbe 0x517aeb
cmp dword [esi + 8], 2
jne case.0x5171a9.0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
cmp eax, 0xa
jne case.0x5171a9.0
mov eax, dword [ebp + 0xc]
movzx edi, byte [eax + 4]
jmp 0x517178
cmp dword [ebp + 8], 0xab
jg 0x517bfd
cmp dword [ebp + 8], 0xa5
jge 0x517a92
cmp dword [ebp + 8], 0x8f
je 0x517a92
jg 0x517c60
mov eax, dword [ebp + 8]
sub eax, 0x7b
cmp eax, 6
ja 0x51793d
mov eax, dword [ebp + 0xc]
mov ecx, ebx
movzx edi, byte [eax + 4]
mov eax, dword [ebx]
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
cmp eax, edi
je 0x5170c9
mov eax, dword [ebp + 0xc]
mov ecx, ebx
movzx edi, byte [eax + 4]
mov eax, dword [ebx]
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
mov edx, dword [ebp + 8]
mov ecx, esi
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.005134a0
sub esp, 0xc
test al, al
jne 0x517a52
xor eax, eax
jmp 0x517078
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
cmp eax, 4
je 0x5170c9
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
cmp eax, 5
je 0x5170c9
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
cmp eax, 8
je 0x5170c9
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
cmp eax, 9
je 0x5170c9
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
cmp eax, 6
je 0x5170c9
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
cmp eax, 7
jne 0x517a31
mov eax, ebx
jmp 0x5170cb
cmp dword [ebp + 8], 0x1aa
jle 0x517bc4
cmp dword [ebp + 8], 0x208
je 0x517a92
jg 0x517c3c
cmp dword [ebp + 8], 0x1ac
jle 0x517a19
jmp 0x51793d
mov edi, 1
jmp 0x517178
mov edi, 0xa
jmp 0x517178
cmp dword [ebp + 8], 0x1a6
jge 0x517a92
cmp dword [ebp + 8], 0x1a1
jg 0x517c75
cmp dword [ebp + 8], 0x19e
jge 0x517a92
cmp dword [ebp + 8], 0x19b
jne 0x51793d
jmp 0x517a92
cmp dword [ebp + 8], 0xae
jl 0x51793d
cmp dword [ebp + 8], 0xb0
jle 0x517a92
mov eax, dword [ebp + 8]
sub eax, 0xd8
cmp eax, 2
ja 0x51793d
jmp 0x517a92
cmp dword [ebp + 8], 0x73
jg 0x51793d
jmp 0x517a92
cmp dword [ebp + 8], 0x219
jne 0x51793d
jmp 0x517a92
cmp dword [ebp + 8], 0x137
jne 0x51793d
jmp 0x517a92
cmp dword [ebp + 8], 0x96
jne 0x51793d
lea esi, [esi]
jmp 0x517a92
mov eax, dword [ebp + 8]
sub eax, 0x1a3
cmp eax, 1
ja 0x51793d
jmp 0x517a92