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

Disassembly:
push 0xffffffffffffffff
push 0x4e1fb9
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x64a000]
xor eax, esp
mov dword [esp + 0x44], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x64a000]
xor eax, esp
push eax
lea eax, [esp + 0x5c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x74]
mov ebp, ebx
mov esi, dword [esp + 0x70]
sub ebp, esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x18], ebx
mov dword [esp + 0x30], eax
mov byte [esp + 0x28], al
mov dword [esp + 0x1c], 0x4ed20c
mov edi, 1
mov dword [esp + 0x64], 1
cmp ebp, edi
jle 0x43a021
mov eax, 5
lea ecx, [esi + 1]
sub eax, esi
mov ebx, ecx
mov dword [esp + 0x24], eax
nop
cmp byte [ebx], 0x63
jne 0x43a009
push 4
lea eax, [ecx + edi]
push str.onst
push eax
call fcn.004c29d0
add esp, 0xc
test eax, eax
jne 0x43a006
mov eax, dword [esp + 0x24]
add eax, ebx
cmp eax, ebp
jge 0x439fe6
mov al, byte [esi + edi + 5]
cmp al, 0x61
jl 0x439fd2
cmp al, 0x7a
jle 0x43a006
cmp al, 0x41
jl 0x439fda
cmp al, 0x5a
jle 0x43a006
cmp al, 0x30
jl 0x439fe2
cmp al, 0x39
jle 0x43a006
cmp al, 0x5f
je 0x43a006
mov al, byte [esi + edi - 1]
cmp al, 0x61
jl 0x439ff2
cmp al, 0x7a
jle 0x43a006
cmp al, 0x41
jl 0x439ffa
cmp al, 0x5a
jle 0x43a006
cmp al, 0x30
jl 0x43a002
cmp al, 0x39
jle 0x43a006
cmp al, 0x5f
jne 0x43a066
lea ecx, [esi + 1]
mov al, byte [ebx]
cmp al, 0x26
je 0x43a01d
cmp al, 0x2a
je 0x43a01d
cmp al, 0x3c
je 0x43a01d
inc edi
inc ebx
cmp edi, ebp
jl 0x439fa0
mov ebx, dword [esp + 0x18]
cmp byte [esp + 0x7c], 0
je 0x43a183
lea edi, [esi + 6]
cmp ebx, edi
jbe 0x43a183
push 6
push esi
push 0x51c340
call fcn.004c29d0
add esp, 0xc
test eax, eax
jne 0x43a183
mov al, byte [ebx - 1]
lea ecx, [ebx - 1]
cmp al, 0x26
jne 0x43a161
mov dword [esp + 0x18], ecx
jmp 0x43a181
push ebp
push esi
lea ecx, [esp + 0x28]
call fcn.004138f0
mov ecx, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [edx]
mov dword [esp + 0x1c], eax
mov dword [edx], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
test ecx, ecx
je 0x43a0a0
cmp ecx, 0xffffffff
je 0x43a0ad
or ecx, 0xffffffff
lock xadd dword [eax], ecx
setne al
test al, al
jne 0x43a0ad
mov eax, dword [esp + 0x20]
push 4
push 1
push eax
call fcn.00413640
add esp, 0xc
mov al, byte [esi + edi - 1]
cmp al, 0x20
je 0x43a0be
cmp al, 9
je 0x43a0be
push 5
push edi
jmp 0x43a0c4
push 6
lea eax, [edi - 1]
push eax
lea ecx, [esp + 0x24]
call fcn.00414cc0
push 0x51c340
lea ecx, [esp + 0x20]
call fcn.004144e0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
cmp eax, 1
je 0x43a0ea
test eax, eax
jne 0x43a0f0
cmp dword [ecx + 0xc], 0x10
je 0x43a116
xor eax, eax
mov ebx, 1
test dword [ecx + 8], 0x80000000
cmovne eax, ebx
push eax
mov eax, dword [ecx + 4]
lea ecx, [esp + 0x20]
inc eax
push eax
call fcn.00414b80
mov ecx, dword [esp + 0x1c]
jmp 0x43a11b
mov ebx, 1
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx]
lea esi, [edx + ecx]
cmp eax, 1
je 0x43a12c
test eax, eax
jne 0x43a131
cmp edx, 0x10
je 0x43a150
xor eax, eax
test dword [ecx + 8], 0x80000000
cmovne eax, ebx
push eax
mov eax, dword [ecx + 4]
lea ecx, [esp + 0x20]
inc eax
push eax
call fcn.00414b80
mov ecx, dword [esp + 0x1c]
mov ebx, dword [ecx + 0xc]
add ebx, dword [ecx + 4]
add ebx, ecx
mov dword [esp + 0x18], ebx
jmp 0x43a021
cmp al, 0x61
jl 0x43a169
cmp al, 0x7a
jle 0x43a181
cmp al, 0x41
jl 0x43a171
cmp al, 0x5a
jle 0x43a181
cmp al, 0x30
jl 0x43a179
cmp al, 0x39
jle 0x43a181
cmp al, 0x5f
je 0x43a181
cmp al, 0x3e
jne 0x43a183
mov esi, edi
mov ebx, dword [esp + 0x14]
mov dword [ebx], 0x4ed20c
mov eax, dword [0x4ed20c]
mov edi, dword [0x4ed214]
mov dword [esp + 0x2c], 1
cmp eax, 1
je 0x43a1a9
test eax, eax
jne 0x43a1c6
mov ecx, edi
lea eax, [ebp + 1]
and ecx, 0x7fffffff
cmp eax, ecx
ja 0x43a1c6
or edi, 0x80000000
mov dword [0x4ed214], edi
jmp 0x43a1ff
mov edx, dword [0x4ed210]
xor eax, eax
test edi, 0x80000000
mov dword [esp + 0x20], edx
mov ecx, 1
mov dword [esp + 0x24], ebp
cmovne eax, ecx
lea edi, [esp + 0x20]
or eax, ecx
cmp edx, ebp
lea ecx, [esp + 0x24]
cmovae ecx, edi
push eax
mov eax, dword [ecx]
mov ecx, ebx
inc eax
push eax
call fcn.00414b80
push 6
push esi
push 0x51c340
call fcn.004c29d0
add esp, 0xc
test eax, eax
jne 0x43a222
push 0x51c340
mov ecx, ebx
add esi, 6
call fcn.00413c70
push 8
push esi
push str.unsigned
call fcn.004c29d0
add esp, 0xc
test eax, eax
jne 0x43a364
mov al, byte [esi + 8]
lea edi, [esi + 8]
test al, al
je 0x43a270
cmp al, 0x61
jl 0x43a250
cmp al, 0x7a
jle 0x43a3d8
cmp al, 0x41
jl 0x43a25c
cmp al, 0x5a
jle 0x43a3d8
cmp al, 0x30
jl 0x43a268
cmp al, 0x39
jle 0x43a3d8
cmp al, 0x5f
je 0x43a3d8
push 4
push edi
push str._int
call fcn.004c29d0
add esp, 0xc
test eax, eax
jne 0x43a29c
mov edi, dword [esp + 0x14]
add esi, 0xc
push str.uint
mov ecx, edi
call fcn.00413c70
jmp 0x43a3dc
push 5
push edi
push str._long
call fcn.004c29d0
add esp, 0xc
test eax, eax
jne 0x43a320
lea edi, [esi + 0xd]
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43a2b8
sub ecx, edx
cmp ecx, 4
jb 0x43a2de
push 4
push str._int
push edi
call fcn.004c29d0
add esp, 0xc
test eax, eax
je 0x43a3d8
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43a2e3
sub ecx, edx
cmp ecx, 5
jb 0x43a309
push 5
push str._long
push edi
call fcn.004c29d0
add esp, 0xc
test eax, eax
je 0x43a3d8
mov esi, edi
mov edi, dword [esp + 0x14]
push str.ulong
mov ecx, edi
call fcn.00413c70
jmp 0x43a3dc
push 6
push edi
push str._short
call fcn.004c29d0
add esp, 0xc
test eax, eax
je 0x43a3d8
push 5
push edi
push str._char
call fcn.004c29d0
add esp, 0xc
test eax, eax
je 0x43a3d8
mov esi, edi
mov edi, dword [esp + 0x14]
push str.uint
mov ecx, edi
call fcn.00413c70
jmp 0x43a3dc
xor edi, edi
mov dword [esp + 0x38], str.struct
mov dword [esp + 0x3c], 7
xor eax, eax
mov dword [esp + 0x40], str.class
mov ecx, str.struct
mov dword [esp + 0x44], 6
mov dword [esp + 0x48], str.enum
mov dword [esp + 0x4c], 5
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
lea ecx, [ecx]
push dword [esp + eax + 0x3c]
push esi
push ecx
call fcn.004c29d0
add esp, 0xc
test eax, eax
je 0x43a3d4
inc edi
lea eax, [edi*8]
mov ecx, dword [esp + eax + 0x38]
test ecx, ecx
jne 0x43a3b0
jmp 0x43a3d8
add esi, dword [esp + edi*8 + 0x3c]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
xor bh, bh
cmp esi, ebp
je 0x43a5f8
lea ebx, [ebx]
mov bl, byte [esi]
inc esi
cmp byte [esp + 0x30], 0
mov byte [esp + 0x20], bl
je 0x43a44d
cmp bl, 0x3a
jne 0x43a44d
cmp byte [esi], bl
jne 0x43a44d
mov edx, dword [edi]
mov bl, byte [esi + 1]
add esi, 2
mov byte [esp + 0x20], bl
mov ecx, dword [edx + 4]
dec ecx
js 0x43a442
mov eax, dword [edx + 0xc]
add edx, eax
mov edi, edi
mov al, byte [edx + ecx]
cmp al, 0x61
jl 0x43a42b
cmp al, 0x7a
jle 0x43a43f
cmp al, 0x41
jl 0x43a433
cmp al, 0x5a
jle 0x43a43f
cmp al, 0x30
jl 0x43a43b
cmp al, 0x39
jle 0x43a43f
cmp al, 0x5f
jne 0x43a442
dec ecx
jns 0x43a420
lea eax, [ecx + 1]
mov ecx, edi
push eax
call fcn.004151a0
test bh, bh
jne 0x43a456
cmp bl, 0x2a
jne 0x43a458
mov bh, 1
push dword [esp + 0x20]
mov ecx, edi
call fcn.00413c00
cmp bl, 0x3c
jne 0x43a551
mov eax, dword [esp + 0x18]
xor ebp, ebp
mov ecx, esi
mov edi, 1
cmp esi, eax
je 0x43a5f8
mov bl, byte [esi]
inc esi
mov byte [esp + 0x20], bl
cmp bl, 0x7b
je 0x43a497
cmp bl, 0x28
je 0x43a497
cmp bl, 0x5b
jne 0x43a498
inc ebp
cmp bl, 0x7d
je 0x43a4a7
cmp bl, 0x29
je 0x43a4a7
cmp bl, 0x5d
jne 0x43a4a8
dec ebp
test ebp, ebp
jne 0x43a541
cmp bl, 0x3c
jne 0x43a4b8
inc edi
jmp 0x43a4be
cmp bl, 0x3e
jne 0x43a4be
dec edi
test edi, edi
je 0x43a4cc
cmp edi, 1
jne 0x43a541
cmp bl, 0x2c
jne 0x43a541
push 0
push dword [esp + 0x2c]
lea eax, [esi - 1]
push eax
push ecx
lea eax, [esp + 0x34]
push eax
call fcn.00439f10
add esp, 0x14
mov ecx, dword [esp + 0x14]
push eax
mov byte [esp + 0x68], 2
call fcn.00413b40
mov eax, dword [esp + 0x24]
mov byte [esp + 0x64], 1
mov ecx, dword [eax]
test ecx, ecx
je 0x43a519
cmp ecx, 0xffffffff
je 0x43a526
or ecx, 0xffffffff
lock xadd dword [eax], ecx
setne al
test al, al
jne 0x43a526
mov eax, dword [esp + 0x24]
push 4
push 1
push eax
call fcn.00413640
add esp, 0xc
push dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
call fcn.00413c00
test edi, edi
je 0x43a649
mov eax, dword [esp + 0x18]
mov ecx, esi
cmp esi, eax
jne 0x43a481
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
cmp bl, 0x61
jl 0x43a55f
cmp bl, 0x7a
jle 0x43a5f0
cmp bl, 0x41
jl 0x43a56d
cmp bl, 0x5a
jle 0x43a5f0
cmp bl, 0x30
jl 0x43a577
cmp bl, 0x39
jle 0x43a5f0
cmp bl, 0x5f
je 0x43a5f0
cmp esi, ebp
je 0x43a5f8
mov edi, ebp
sub edi, esi
cmp edi, 5
jl 0x43a5ec
push 5
push esi
push str.const
call fcn.004c29d0
add esp, 0xc
test eax, eax
jne 0x43a5ec
cmp edi, 5
je 0x43a5c1
mov al, byte [esi + 5]
cmp al, 0x61
jl 0x43a5ad
cmp al, 0x7a
jle 0x43a5ec
cmp al, 0x41
jl 0x43a5b5
cmp al, 0x5a
jle 0x43a5ec
cmp al, 0x30
jl 0x43a5bd
cmp al, 0x39
jle 0x43a5ec
cmp al, 0x5f
je 0x43a5ec
add esi, 5
cmp esi, ebp
je 0x43a5d7
mov al, byte [esi]
cmp al, 0x20
je 0x43a5d2
cmp al, 9
jne 0x43a5d7
inc esi
cmp esi, ebp
jne 0x43a5c8
cmp byte [esp + 0x7c], 0
je 0x43a67d
cmp esi, ebp
je 0x43a664
cmp byte [esi], 0x26
jne 0x43a664
inc esi
mov edi, dword [esp + 0x14]
cmp esi, ebp
jne 0x43a3f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
je 0x43a619
cmp ecx, 0xffffffff
je 0x43a626
or ecx, 0xffffffff
lock xadd dword [eax], ecx
setne al
test al, al
jne 0x43a626
mov eax, dword [esp + 0x1c]
push 4
push 1
push eax
call fcn.00413640
add esp, 0xc
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.004c17c4
add esp, 0x54
ret
cmp byte [esi], 0x3e
mov edi, dword [esp + 0x14]
jne 0x43a54d
push 0x20
mov ecx, edi
call fcn.00413c00
jmp 0x43a54d
test bh, bh
je 0x43a5ec
mov edi, dword [esp + 0x14]
mov ecx, edi
push str.const
call fcn.00413c70
jmp 0x43a5f0
test bh, bh
jne 0x43a668
mov edi, dword [esp + 0x14]
mov ecx, edi
push 0x51c340
call fcn.004144e0
jmp 0x43a5f0