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

Disassembly:
push 0xffffffffffffffff
push 0x100599b8
mov eax, dword fs:[0]
push eax
sub esp, 0x40
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1007fa04]
xor eax, esp
push eax
lea eax, [esp + 0x54]
mov dword fs:[0], eax
mov bp, word [esp + 0x6c]
xor ebx, ebx
cmp bp, 0xa
jne 0x1004f357
push 0x14000040
lea ecx, [esp + 0x20]
call fcn.10049a20
push eax
mov dword [esp + 0x60], ebx
call dword [esp + 0x78]
mov ecx, dword [esp + 0x20]
add esp, 4
cmp ecx, ebx
mov dword [esp + 0x5c], 0xffffffff
je 0x1004f357
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
push 1
call edx
mov di, word [esp + 0x68]
mov esi, dword [esp + 0x64]
xor eax, eax
cmp bp, 9
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov byte [esp + 0x48], 1
mov word [esp + 0x4c], 2
mov word [esp + 0x4a], di
mov dword [esp + 0x50], esi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ebx
mov byte [esp + 0x68], al
mov byte [esp + 0x64], al
jne 0x1004f3ba
mov dword [esp + 0x40], bind
mov dword [esp + 0x44], 0xffffffff
mov eax, bind
xor ecx, ecx
jmp 0x1004f3ce
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], bind
or eax, 0xffffffff
mov ecx, bind
push ebx
push 0xa
push ecx
push eax
call fcn.10052a20
mov dword [esp + 0x30], eax
movzx eax, di
add eax, esi
cmp esi, eax
mov dword [esp + 0x34], edx
mov ebp, esi
mov dword [esp + 0x1c], eax
jae 0x1004f3fd
nop
cmp byte [ebp], 0x20
jne 0x1004f3fd
add ebp, 1
cmp ebp, eax
jb 0x1004f3f0
lea ebx, [ebp + 2]
mov esi, eax
cmp ebx, esi
jae 0x1004f596
cmp byte [ebp], 0x30
jne 0x1004f596
mov al, byte [ebp + 1]
cmp al, 0x61
jl 0x1004f427
cmp al, 0x7a
jg 0x1004f427
movsx eax, al
sub eax, 0x20
jmp 0x1004f42a
movsx eax, al
cmp eax, 0x58
jne 0x1004f596
cmp ebx, esi
mov eax, ebx
jae 0x1004f452
lea esp, [esp]
mov cl, byte [eax]
test cl, cl
je 0x1004f452
cmp cl, 0x20
je 0x1004f452
add eax, 1
cmp eax, esi
jb 0x1004f440
cmp eax, esi
mov edi, eax
jae 0x1004f466
cmp byte [eax], 0x20
jne 0x1004f464
add eax, 1
cmp eax, esi
jb 0x1004f458
cmp eax, esi
jne 0x1004f473
mov eax, esi
sub eax, ebx
je 0x1004f473
cmp eax, 0x10
jle 0x1004f485
mov eax, dword [esp + 0x74]
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.1004f180
add esp, 8
lea edx, [esp + 0x68]
push edx
mov eax, edi
mov dword [esp + 0x6c], ebx
call fcn.1004ee60
add esp, 4
cmp dword [esp + 0x68], edi
mov ebp, eax
mov esi, edx
je 0x1004f4b4
mov eax, dword [esp + 0x74]
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.1004f180
add esp, 8
sub edi, ebx
cmp edi, 8
jg 0x1004f4c2
mov eax, ebp
cdq
mov ebp, eax
mov esi, edx
cmp word [esp + 0x6c], 9
jne 0x1004f576
cmp esi, 0xffffffff
jl 0x1004f4eb
jg 0x1004f4dd
cmp ebp, 0x80000000
jb 0x1004f4eb
test esi, esi
jl 0x1004f559
jg 0x1004f4eb
cmp ebp, 0x7fffffff
jbe 0x1004f559
push 0x14000254
lea ecx, [esp + 0x6c]
call fcn.10049a20
mov edi, eax
push 0x14000001
lea ecx, [esp + 0x70]
mov dword [esp + 0x60], 1
call fcn.10049a20
mov esi, eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2c]
push edi
mov byte [esp + 0x60], 2
call eax
push esi
call dword [esp + 0x78]
mov ecx, dword [esp + 0x70]
add esp, 4
test ecx, ecx
mov byte [esp + 0x5c], 1
je 0x1004f540
mov edx, dword [ecx]
mov eax, dword [edx + 0x34]
push 1
call eax
mov ecx, dword [esp + 0x68]
test ecx, ecx
mov dword [esp + 0x5c], 0xffffffff
je 0x1004f559
mov edx, dword [ecx]
mov eax, dword [edx + 0x34]
push 1
call eax
mov ecx, dword [esp + 0x70]
mov dword [ecx], ebp
xor ax, ax
mov ecx, dword [esp + 0x54]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov eax, dword [esp + 0x70]
mov dword [eax], ebp
mov dword [eax + 4], esi
xor ax, ax
mov ecx, dword [esp + 0x54]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
cmp ebp, esi
jae 0x1004f7cd
mov ebx, 5
mov al, byte [ebp]
cmp al, 0x30
jl 0x1004f70c
cmp al, 0x39
jg 0x1004f70c
mov edx, dword [esp + 0x34]
cmp dword [esp + 0x3c], edx
mov byte [esp + 0x68], 1
jl 0x1004f6c9
jg 0x1004f5d9
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x38], ecx
jb 0x1004f6c9
mov edx, dword [esp + 0x34]
cmp dword [esp + 0x3c], edx
jl 0x1004f64a
jg 0x1004f5ef
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x38], ecx
jbe 0x1004f64a
push 0x14000254
lea ecx, [esp + 0x28]
call fcn.10049a20
mov edi, eax
push 0x14000001
lea ecx, [esp + 0x24]
mov dword [esp + 0x60], 3
call fcn.10049a20
mov esi, eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2c]
push edi
mov byte [esp + 0x60], 4
call eax
push esi
call dword [esp + 0x78]
mov ecx, dword [esp + 0x24]
add esp, 4
test ecx, ecx
mov byte [esp + 0x5c], 3
je 0x1004f644
mov edx, dword [ecx]
mov eax, dword [edx + 0x34]
push 1
call eax
mov ecx, dword [esp + 0x24]
jmp 0x1004f6b4
cmp al, 0x38
jle 0x1004f655
cmp dword [esp + 0x14], 0xffffffff
je 0x1004f660
cmp al, 0x37
jle 0x1004f6c9
cmp dword [esp + 0x14], 0xffffffff
je 0x1004f6c9
push 0x14000254
lea ecx, [esp + 0x30]
call fcn.10049a20
mov edi, eax
push 0x14000001
lea ecx, [esp + 0x2c]
mov dword [esp + 0x60], ebx
call fcn.10049a20
mov esi, eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2c]
push edi
mov byte [esp + 0x60], 6
call eax
push esi
call dword [esp + 0x78]
mov ecx, dword [esp + 0x2c]
add esp, 4
test ecx, ecx
mov byte [esp + 0x5c], bl
je 0x1004f6b0
mov edx, dword [ecx]
mov eax, dword [edx + 0x34]
push 1
call eax
mov ecx, dword [esp + 0x2c]
test ecx, ecx
mov dword [esp + 0x5c], 0xffffffff
je 0x1004f6c9
mov edx, dword [ecx]
mov eax, dword [edx + 0x34]
push 1
call eax
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
push 0
push 0xa
push ecx
push edx
call fcn.10052ad0
mov ecx, eax
movsx eax, byte [ebp]
mov esi, edx
cdq
add ecx, eax
adc esi, edx
sub ecx, 0x30
sbb esi, 0
cmp byte [esp + 0x64], 0
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], esi
je 0x1004f7b7
sub dword [esp + 0x18], 1
jmp 0x1004f7b7
cmp al, 0x2e
jne 0x1004f730
cmp byte [esp + 0x64], 0
je 0x1004f726
mov edx, dword [esp + 0x74]
push edx
lea eax, [esp + 0x4c]
push eax
jmp 0x1004f7af
mov byte [esp + 0x64], 1
jmp 0x1004f7b7
cmp al, 0x2d
jne 0x1004f753
cmp byte [esp + 0x68], 0
jne 0x1004f753
cmp dword [esp + 0x14], 0
jne 0x1004f753
cmp byte [esp + 0x64], 0
jne 0x1004f753
mov dword [esp + 0x14], 0xffffffff
jmp 0x1004f7b7
cmp al, 0x2b
jne 0x1004f776
cmp byte [esp + 0x68], 0
jne 0x1004f776
cmp dword [esp + 0x14], 0
jne 0x1004f776
cmp byte [esp + 0x64], 0
jne 0x1004f776
mov dword [esp + 0x14], 1
jmp 0x1004f7b7
cmp al, 0x65
je 0x1004f7c6
cmp al, 0x45
je 0x1004f7c6
cmp al, 0x20
jne 0x1004f7a5
cmp ebp, esi
jae 0x1004f7b7
cmp byte [ebp], 0x20
jne 0x1004f795
add ebp, 1
cmp ebp, esi
jb 0x1004f786
jmp 0x1004f7b7
cmp ebp, esi
jae 0x1004f7b7
mov ecx, dword [esp + 0x74]
push ecx
lea edx, [esp + 0x4c]
push edx
jmp 0x1004f7af
mov eax, dword [esp + 0x74]
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.1004f180
add esp, 8
mov esi, dword [esp + 0x1c]
add ebp, 1
cmp ebp, esi
jb 0x1004f5a3
cmp byte [esp + 0x68], 0
jne 0x1004f7df
mov edx, dword [esp + 0x74]
push edx
lea eax, [esp + 0x4c]
push eax
call fcn.1004f180
add esp, 8
cmp dword [esp + 0x14], 0xffffffff
jne 0x1004f80d
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x40]
jne 0x1004f7fa
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x44]
je 0x1004f80d
mov edx, dword [esp + 0x3c]
neg eax
adc edx, 0
neg edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
cmp ebp, esi
jae 0x1004f97b
xor ebx, ebx
xor cl, cl
add ebp, 1
cmp ebp, esi
mov dword [esp + 0x14], ebx
mov byte [esp + 0x68], cl
jae 0x1004f961
lea esp, [esp]
mov al, byte [ebp]
cmp al, 0x30
jl 0x1004f8d6
cmp al, 0x39
jg 0x1004f8d6
lea ecx, [ebx + ebx*4]
add ecx, ecx
movsx dx, al
add cx, dx
sub cx, 0x30
movzx ebx, cx
cmp bx, 0xccc
mov byte [esp + 0x68], 1
jl 0x1004f941
push 0x14000254
lea ecx, [esp + 0x34]
call fcn.10049a20
mov edi, eax
push 0x14000001
lea ecx, [esp + 0x68]
mov dword [esp + 0x60], 7
call fcn.10049a20
mov esi, eax
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
push edi
mov byte [esp + 0x60], 8
call edx
push esi
call dword [esp + 0x78]
mov ecx, dword [esp + 0x68]
add esp, 4
test ecx, ecx
mov byte [esp + 0x5c], 7
je 0x1004f8bb
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
push 1
call edx
mov ecx, dword [esp + 0x30]
test ecx, ecx
mov dword [esp + 0x5c], 0xffffffff
je 0x1004f941
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
push 1
call edx
jmp 0x1004f941
cmp al, 0x2d
jne 0x1004f8ef
test cl, cl
jne 0x1004f8ef
cmp dword [esp + 0x14], 0
jne 0x1004f8ef
mov dword [esp + 0x14], 0xffffffff
jmp 0x1004f941
cmp al, 0x2b
jne 0x1004f908
test cl, cl
jne 0x1004f908
cmp dword [esp + 0x14], 0
jne 0x1004f908
mov dword [esp + 0x14], 1
jmp 0x1004f941
cmp al, 0x20
jne 0x1004f92f
cmp ebp, esi
jae 0x1004f941
cmp byte [ebp], 0x20
jne 0x1004f91f
add ebp, 1
cmp ebp, esi
jb 0x1004f910
jmp 0x1004f941
cmp ebp, esi
jae 0x1004f941
mov eax, dword [esp + 0x74]
push eax
lea ecx, [esp + 0x4c]
push ecx
jmp 0x1004f939
mov edx, dword [esp + 0x74]
push edx
lea eax, [esp + 0x4c]
push eax
call fcn.1004f180
add esp, 8
mov esi, dword [esp + 0x1c]
mov cl, byte [esp + 0x68]
add ebp, 1
cmp ebp, esi
jb 0x1004f830
cmp dword [esp + 0x14], 0xffffffff
jne 0x1004f961
sub dword [esp + 0x18], ebx
jmp 0x1004f965
add dword [esp + 0x18], ebx
test cl, cl
jne 0x1004f97b
mov ecx, dword [esp + 0x74]
push ecx
lea edx, [esp + 0x4c]
push edx
call fcn.1004f180
add esp, 8
cmp word [esp + 0x6c], 9
mov eax, dword [esp + 0x70]
jne 0x1004f98f
mov ecx, dword [esp + 0x38]
mov dword [eax], ecx
jmp 0x1004f99c
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov ax, word [esp + 0x18]
mov ecx, dword [esp + 0x54]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret