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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10347800
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x10525930]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push esi
push edi
mov eax, dword [0x10525930]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x1c]
push eax
mov dword [esp + 0x28], ecx
call fcn.10007010
add esp, 4
mov edi, eax
lea edx, [esp + 0x50]
push edx
mov ecx, edi
call fcn.10006450
xor ebx, ebx
mov dword [esp + 0x80], ebx
cmp dword [esp + 0x68], ebx
jne 0x10057c07
mov byte [esp + 0x17], bl
jmp 0x10057c14
mov eax, dword [edi]
mov edx, dword [eax + 8]
mov ecx, edi
call edx
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
cmp byte [esi + 4], bl
jne 0x10057c28
mov ecx, esi
call fcn.10059960
mov edi, dword [esp + 0x24]
cmp byte [edi + 4], bl
jne 0x10057c38
mov ecx, edi
call fcn.10059960
cmp dword [esi], ebx
jne 0x10057c46
cmp dword [edi], ebx
je 0x10057ced
jmp 0x10057c4e
cmp dword [edi], ebx
jne 0x10057ced
cmp byte [esi + 4], bl
jne 0x10057c5a
mov ecx, esi
call fcn.10059960
cmp dword [esi], ebx
jne 0x10057c75
push 0x1df
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VCinclude_streambuf
push str.istreambuf_iterator_is_not_dereferencable
call fcn.10238950
add esp, 0xc
mov al, byte [esi + 5]
cmp al, 0x2b
jne 0x10057cac
mov eax, dword [esp + 0x2c]
mov byte [eax], 0x2b
inc eax
mov dword [esp + 0x18], eax
cmp dword [esi], ebx
jne 0x10057ca3
push 0x1ea
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VCinclude_streambuf
push str.istreambuf_iterator_is_not_incrementable
call fcn.10238950
add esp, 0xc
mov ecx, esi
call fcn.10059910
jmp 0x10057ced
cmp byte [esi + 4], bl
jne 0x10057cb8
mov ecx, esi
call fcn.10059960
cmp dword [esi], ebx
jne 0x10057cd3
push 0x1df
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VCinclude_streambuf
push str.istreambuf_iterator_is_not_dereferencable
call fcn.10238950
add esp, 0xc
mov al, byte [esi + 5]
cmp al, 0x2d
jne 0x10057ced
mov eax, dword [esp + 0x2c]
mov byte [eax], 0x2d
inc eax
mov ecx, esi
mov dword [esp + 0x18], eax
call fcn.10059790
mov eax, dword [ebp + 0x18]
and eax, 0xe00
cmp eax, 0x400
jne 0x10057d07
mov edi, 8
mov dword [esp + 0x28], edi
jmp 0x10057d26
cmp eax, 0x800
jne 0x10057d19
mov edi, 0x10
mov dword [esp + 0x28], edi
jmp 0x10057d26
neg eax
sbb eax, eax
and eax, 0xa
mov edi, eax
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x24]
push ecx
push esi
mov byte [esp + 0x24], bl
mov byte [esp + 0x1e], bl
call fcn.1005a300
add esp, 8
test al, al
je 0x10057dee
cmp byte [esi + 4], bl
jne 0x10057d50
mov ecx, esi
call fcn.10059960
cmp dword [esi], ebx
jne 0x10057d6b
push 0x1df
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VCinclude_streambuf
push str.istreambuf_iterator_is_not_dereferencable
call fcn.10238950
add esp, 0xc
cmp byte [esi + 5], 0x30
jne 0x10057dee
mov byte [esp + 0x1c], 1
cmp dword [esi], ebx
jne 0x10057d91
push 0x1ea
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VCinclude_streambuf
push str.istreambuf_iterator_is_not_incrementable
call fcn.10238950
add esp, 0xc
mov ecx, esi
call fcn.10059910
mov edx, dword [esp + 0x24]
push edx
push esi
call fcn.1005a300
add esp, 8
test al, al
je 0x10057ddf
mov ecx, esi
call fcn.10059760
cmp al, 0x78
je 0x10057dc0
mov ecx, esi
call fcn.10059760
cmp al, 0x58
jne 0x10057ddf
cmp edi, ebx
je 0x10057dc9
cmp edi, 0x10
jne 0x10057ddf
mov edi, 0x10
mov ecx, esi
mov dword [esp + 0x28], edi
mov byte [esp + 0x1c], bl
call fcn.10059790
jmp 0x10057df7
cmp edi, ebx
jne 0x10057df2
mov edi, 8
mov dword [esp + 0x28], edi
jmp 0x10057df7
cmp edi, ebx
je 0x10057e0c
cmp edi, 0xa
je 0x10057e0c
mov eax, edi
sub eax, 8
neg eax
sbb eax, eax
and eax, 0xe
add eax, 8
mov dword [esp + 0x20], eax
jmp 0x10057e14
mov dword [esp + 0x20], 0xa
mov eax, dword [esp + 0x1c]
push eax
push 1
lea ecx, [esp + 0x38]
call fcn.10046d90
mov byte [esp + 0x80], 1
xor edi, edi
mov edi, edi
cmp byte [esi + 4], bl
jne 0x10057e67
mov ecx, dword [esi]
cmp ecx, ebx
je 0x10057e61
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x10057e50
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x10057e50
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x10057e57
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp eax, 0xffffffff
je 0x10057e61
mov byte [esi + 5], al
jmp 0x10057e63
mov dword [esi], ebx
mov byte [esi + 4], 1
mov edx, dword [esp + 0x24]
cmp byte [edx + 4], bl
jne 0x10057ea6
mov ecx, dword [edx]
cmp ecx, ebx
je 0x10057ea0
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x10057e8b
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x10057e8b
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x10057e92
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
mov edx, dword [esp + 0x24]
cmp eax, 0xffffffff
je 0x10057ea0
mov byte [edx + 5], al
jmp 0x10057ea2
mov dword [edx], ebx
mov byte [edx + 4], 1
mov ecx, dword [esi]
cmp ecx, ebx
jne 0x10057ed0
cmp dword [edx], ebx
jne 0x10057ed4
cmp edi, ebx
je 0x10058052
push edi
lea ecx, [esp + 0x34]
call fcn.100060b0
cmp byte [eax], bl
jle 0x1005804e
inc edi
jmp 0x10058052
cmp dword [edx], ebx
jne 0x10057eb0
cmp byte [esi + 4], bl
jne 0x10057f09
cmp ecx, ebx
je 0x10057f03
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x10057ef2
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x10057ef2
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x10057ef9
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp eax, 0xffffffff
je 0x10057f03
mov byte [esi + 5], al
jmp 0x10057f05
mov dword [esi], ebx
mov byte [esi + 4], 1
cmp dword [esi], ebx
jne 0x10057f24
push 0x1df
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VCinclude_streambuf
push str.istreambuf_iterator_is_not_dereferencable
call fcn.10238950
add esp, 0xc
mov al, byte [esi + 5]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov byte [ecx], al
movsx eax, al
push edx
push eax
push str.0123456789abcdefABCDEF
call fcn.10259fc0
add esp, 0xc
test eax, eax
je 0x10057f8e
cmp byte [esp + 0x16], bl
jne 0x10057f56
mov ecx, dword [esp + 0x18]
cmp byte [ecx], 0x30
je 0x10057f6c
mov eax, dword [esp + 0x2c]
add eax, 0x1f
cmp dword [esp + 0x18], eax
jae 0x10057f6c
inc dword [esp + 0x18]
mov byte [esp + 0x16], 1
push edi
lea ecx, [esp + 0x34]
mov byte [esp + 0x20], 1
call fcn.100060b0
cmp byte [eax], 0x7f
je 0x10057feb
push edi
lea ecx, [esp + 0x34]
call fcn.100060b0
inc byte [eax]
jmp 0x10057feb
push edi
lea ecx, [esp + 0x34]
call fcn.100060b0
cmp byte [eax], bl
je 0x10057eb0
cmp byte [esp + 0x17], bl
je 0x10057eb0
cmp byte [esi + 4], bl
jne 0x10057fb6
mov ecx, esi
call fcn.10059960
cmp dword [esi], ebx
jne 0x10057fd1
push 0x1df
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VCinclude_streambuf
push str.istreambuf_iterator_is_not_dereferencable
call fcn.10238950
add esp, 0xc
mov dl, byte [esp + 0x17]
cmp byte [esi + 5], dl
jne 0x10057eb0
push ebx
push 1
lea ecx, [esp + 0x38]
call fcn.10005f00
inc edi
mov ecx, dword [esi]
cmp ecx, ebx
jne 0x1005800e
push 0x1ea
push str.C:Program_FilesMicrosoft_Visual_Studio_9.0VCinclude_streambuf
push str.istreambuf_iterator_is_not_incrementable
call fcn.10238950
mov ecx, dword [esi]
add esp, 0xc
cmp ecx, ebx
je 0x10058043
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x1005802f
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x1005802f
mov eax, edx
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x10058036
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x10058043
mov byte [esi + 4], bl
jmp 0x10057e30
mov dword [esi], ebx
mov byte [esi + 4], 1
jmp 0x10057e30
mov byte [esp + 0x1c], bl
cmp dword [esp + 0x6c], 0x10
mov esi, dword [esp + 0x58]
jae 0x10058061
lea esi, [esp + 0x58]
cmp byte [esp + 0x1c], bl
je 0x100580b1
cmp edi, ebx
jbe 0x100580a1
cmp byte [esi], 0x7f
je 0x100580a1
sub edi, 1
je 0x10058085
push edi
lea ecx, [esp + 0x34]
call fcn.100060b0
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x100580b1
cmp edi, ebx
jne 0x10058099
push edi
lea ecx, [esp + 0x34]
call fcn.100060b0
mov dl, byte [esi]
cmp dl, byte [eax]
jl 0x100580b1
cmp byte [esi + 1], bl
jle 0x10058067
inc esi
jmp 0x10058067
mov eax, dword [esp + 0x18]
cmp byte [esp + 0x16], bl
jne 0x100580b5
mov byte [eax], 0x30
inc eax
jmp 0x100580b5
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x80], bl
cmp dword [esp + 0x4c], 0x10
mov byte [eax], bl
jb 0x100580d2
mov eax, dword [esp + 0x38]
push eax
call fcn.1025a370
add esp, 4
mov esi, 0xf
push 3
lea ecx, [esp + 0x24]
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
call fcn.10239250
mov eax, dword [esp + 0x30]
cmp eax, 0xfffffffd
je 0x10058115
cmp eax, ebx
je 0x10058111
jmp 0x10058100
mov dword [eax], ebx
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 4]
mov dword [esp + 0x30], eax
cmp eax, ebx
jne 0x10058100
mov dword [esp + 0x30], ebx
lea ecx, [esp + 0x20]
call fcn.10239290
mov dword [esp + 0x80], 0xffffffff
cmp dword [esp + 0x6c], 0x10
jb 0x1005813d
mov edx, dword [esp + 0x58]
push edx
call fcn.1025a370
add esp, 4
push 3
lea ecx, [esp + 0x24]
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x5c], bl
call fcn.10239250
mov eax, dword [esp + 0x50]
cmp eax, 0xfffffffd
je 0x10058176
cmp eax, ebx
je 0x10058172
mov dword [eax], ebx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov dword [esp + 0x50], eax
cmp eax, ebx
jne 0x10058161
mov dword [esp + 0x50], ebx
lea ecx, [esp + 0x20]
call fcn.10239290
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.102595a0
mov esp, ebp
pop ebp
ret