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

Disassembly:
push 0x30
mov eax, 0x4edac6
call fcn.004d766c
mov edi, ecx
mov eax, edi
call fcn.0044eef7
cmp word [edi + 0xa8], 0x3f
jne 0x45168d
cmp dword [edi + 0xac], 1
jne 0x45168d
mov eax, edi
call fcn.0044eef7
movzx ecx, word [edi + 0xa8]
and dword [ebp - 0x14], 0
mov ebx, dword [ebp + 8]
movzx eax, cx
cmp eax, 0x3d
push 0x3e
pop esi
mov dword [ebp - 0x18], esi
jg 0x45107f
je 0x451036
sub eax, 0x21
je 0x45102f
sub eax, 6
je 0x450e2d
dec eax
je 0x450e46
sub eax, 0x14
jne 0x451098
movzx eax, word [edi + 0xb8]
cmp eax, 0x21
je 0x450db1
cmp eax, 0x3d
je 0x450db8
jmp 0x450e1c
mov dword [ebp - 0x14], 1
mov eax, edi
call fcn.0044eef7
mov eax, edi
call fcn.0044eef7
push 0xc
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
pop ecx
mov dword [ebp - 0x28], esi
test esi, esi
mov dword [ebp - 4], 1
je 0x450e01
mov eax, dword [ebx]
or eax, 0x10
push eax
mov ecx, edi
call fcn.0044ef35
mov dword [esi + 4], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
mov dword [esi], vtable.CAssertElxT_0_.0
sete al
mov dword [esi + 8], eax
jmp 0x450e03
xor esi, esi
or dword [ebp - 4], 0xffffffff
push esi
mov eax, edi
call fcn.0044fd0c
mov esi, eax
test esi, esi
jne 0x45167c
push 0x3e
pop esi
cmp word [edi + 0xa8], 0x50
jne 0x450e2d
mov eax, edi
call fcn.0044eef7
movzx eax, word [edi + 0xa8]
cmp ax, 0x3c
jne 0x451475
mov dword [ebp - 0x18], esi
jmp 0x451482
push 0x28
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
xor ecx, ecx
cmp eax, ecx
je 0x450e73
mov dword [eax], vtable.CConditionElxT_wchar_t_.0
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], vtable.CBufferT_wchar_t_.0
mov dword [eax + 0x18], ecx
mov dword [eax + 0x14], ecx
or dword [eax + 4], 0xffffffff
jmp 0x450e75
xor eax, eax
push eax
mov eax, edi
call fcn.0044fd0c
mov ebx, eax
lea eax, [edi + 0xb8]
cmp word [eax], 0x3f
mov dword [ebp - 0x18], ebx
jne 0x450ea7
cmp dword [eax + 4], 1
jne 0x450ea7
mov esi, dword [ebp + 8]
push esi
mov ecx, edi
call fcn.00450d1f
mov dword [ebx + 0x1c], eax
jmp 0x450ff2
mov eax, edi
call fcn.0044eef7
mov eax, dword [edi + 0xb0]
push 0xc
mov dword [ebp - 0x14], eax
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
pop ecx
mov dword [ebp - 0x28], esi
test esi, esi
mov dword [ebp - 4], 6
je 0x450eed
mov eax, dword [ebp + 8]
push dword [eax]
mov ecx, edi
call fcn.0044ef35
mov dword [esi], vtable.CAssertElxT_0_.0
mov dword [esi + 4], eax
mov dword [esi + 8], 1
jmp 0x450eef
xor esi, esi
push esi
mov eax, edi
call fcn.0044fd0c
mov dword [ebx + 0x1c], eax
mov eax, dword [edi + 0x90]
test eax, eax
jne 0x450f09
mov eax, 0x5160ec
mov ecx, dword [ebp - 0x14]
mov ebx, dword [edi + 0xb0]
mov esi, dword [ebp - 0x18]
lea eax, [eax + ecx*2]
sub ebx, ecx
push eax
add esi, 8
call fcn.00451ff1
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], vtable.CBufferT_char_.0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x14]
cmp eax, dword [edi + 0xb0]
jge 0x450f95
mov ebx, eax
cmp ebx, dword [edi + 0x94]
jl 0x450f58
xor eax, eax
jmp 0x450f62
mov eax, dword [edi + 0x90]
movzx eax, word [eax + ebx*2]
mov cl, al
lea esi, [ebp - 0x3c]
and cx, 0xff
cmp cx, ax
setne cl
dec cl
and ecx, eax
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 0x10], cl
call fcn.00451b77
inc ebx
cmp ebx, dword [edi + 0xb0]
jl 0x450f4c
mov eax, dword [ebp - 0x30]
test eax, eax
mov dword [ebp - 0x14], eax
jne 0x450f9c
mov dword [ebp - 0x14], 0x5160ee
lea ebx, [ebp - 0x20]
lea esi, [ebp - 0x14]
call fcn.00450338
test eax, eax
je 0x450fb7
mov ecx, dword [ebp - 0x14]
xor eax, eax
cmp byte [ecx], al
sete al
jmp 0x450fb9
xor eax, eax
test eax, eax
mov eax, dword [ebp - 0x18]
je 0x450fcc
mov ecx, dword [ebp - 0x20]
mov dword [eax + 4], ecx
and dword [eax + 0x1c], 0
jmp 0x450fd9
or dword [eax + 4], 0xffffffff
push eax
lea esi, [edi + 0x78]
call fcn.00452196
mov eax, edi
call fcn.0044eef7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.0044e7f6
mov esi, dword [ebp + 8]
mov ebx, dword [ebp - 0x18]
mov eax, dword [esi]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call fcn.0044f91c
mov dword [ebx + 0x20], eax
cmp word [edi + 0xa8], 0x7c
jne 0x451024
mov eax, edi
call fcn.0044eef7
push dword [esi]
mov ecx, edi
call fcn.0044ef35
mov dword [ebx + 0x24], eax
jmp 0x451028
and dword [ebx + 0x24], 0
mov esi, ebx
jmp 0x45167c
mov dword [ebp - 0x14], 1
mov eax, edi
call fcn.0044eef7
push 0xc
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
pop ecx
mov dword [ebp - 0x28], esi
and dword [ebp - 4], 0
test esi, esi
je 0x45166c
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and eax, 0xffffffef
push eax
mov ecx, edi
call fcn.0044ef35
mov dword [esi + 4], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
mov dword [esi], vtable.CAssertElxT_0_.0
sete al
mov dword [esi + 8], eax
jmp 0x45166e
sub eax, esi
je 0x451636
sub eax, 0x12
je 0x450e1c
dec eax
dec eax
je 0x451272
test cx, cx
je 0x4510c1
movzx eax, word [edi + 0xa8]
push eax
call dword [sym.imp.MSVCR80.dll_isspace]
test eax, eax
pop ecx
je 0x4510c1
mov eax, edi
call fcn.0044eef7
cmp word [edi + 0xa8], 0
jne 0x45109d
movzx eax, word [edi + 0xa8]
cmp ax, 0x30
jb 0x451189
cmp ax, 0x39
ja 0x451189
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x3c], vtable.CBufferT_char_.0
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], ecx
cmp ax, cx
mov dword [ebp - 4], 8
je 0x451142
movzx eax, word [edi + 0xa8]
cmp ax, 0x29
je 0x451142
mov cl, al
and cx, 0xff
cmp cx, ax
jne 0x451121
mov al, byte [edi + 0xa8]
mov byte [ebp + 8], al
jmp 0x451125
mov byte [ebp + 8], 0
lea eax, [ebp + 8]
push eax
lea esi, [ebp - 0x3c]
call fcn.00451b77
mov eax, edi
call fcn.0044eef7
cmp word [edi + 0xa8], 0
jne 0x4510fd
mov eax, dword [ebp - 0x30]
and dword [ebp - 0x14], 0
test eax, eax
mov dword [ebp - 0x18], eax
jne 0x451157
mov dword [ebp - 0x18], 0x5160ee
lea ebx, [ebp - 0x14]
lea esi, [ebp - 0x18]
call fcn.00450338
push 0x20
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
test eax, eax
pop ecx
je 0x451178
push dword [ebp - 0x14]
call fcn.0045216e
jmp 0x45117a
xor eax, eax
push eax
mov eax, edi
call fcn.0044fd0c
mov ebx, eax
jmp 0x451467
mov esi, dword [ebx]
xor edx, edx
inc edx
cmp word [edi + 0xa8], 0
jne 0x4511a4
cmp dword [edi + 0xac], edx
je 0x451229
movzx eax, word [edi + 0xa8]
cmp ax, 0x3a
je 0x451229
cmp ax, 0x29
je 0x451229
cmp word [edi + 0xa8], 0x28
jne 0x4511c9
cmp dword [edi + 0xac], edx
je 0x451229
movzx eax, ax
xor ecx, ecx
cmp eax, 0x53
jg 0x4511f1
je 0x451204
sub eax, 0x2d
je 0x4511ec
sub eax, 0x1a
je 0x45120c
dec eax
dec eax
je 0x451208
sub eax, 4
jne 0x45120f
push 2
jmp 0x45120e
mov dword [ebp - 0x14], edx
jmp 0x451215
sub eax, 0x67
je 0x45120c
dec eax
dec eax
je 0x451208
sub eax, 4
je 0x4511e8
sub eax, 6
jne 0x45120f
mov ecx, edx
jmp 0x45120f
push 8
jmp 0x45120e
push 4
pop ecx
cmp dword [ebp - 0x14], 0
je 0x45121b
not ecx
and esi, ecx
jmp 0x45121d
or esi, ecx
mov eax, edi
call fcn.0044eef7
jmp 0x45118b
movzx eax, word [edi + 0xa8]
cmp ax, 0x3a
je 0x45125e
cmp word [edi + 0xa8], 0x28
jne 0x451248
cmp dword [edi + 0xac], edx
je 0x451258
xor eax, eax
mov ecx, edi
mov dword [ebx], esi
call fcn.0044fa48
jmp 0x45167a
cmp ax, 0x3a
jne 0x451265
mov eax, edi
call fcn.0044eef7
push esi
mov ecx, edi
call fcn.0044ef35
jmp 0x45167a
mov eax, edi
call fcn.0044eef7
xor esi, esi
jmp 0x451297
movzx eax, word [edi + 0xa8]
push eax
call dword [sym.imp.MSVCR80.dll_isspace]
test eax, eax
pop ecx
je 0x4512a0
mov eax, edi
call fcn.0044eef7
cmp word [edi + 0xa8], si
jne 0x45127d
movzx eax, word [edi + 0xa8]
cmp ax, 0x3c
je 0x451357
cmp ax, 0x27
je 0x451357
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x3c], vtable.CBufferT_char_.0
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x30], esi
cmp ax, si
mov dword [ebp - 4], 5
je 0x45131f
movzx eax, word [edi + 0xa8]
cmp ax, 0x29
je 0x45131f
mov cl, al
and cx, 0xff
cmp cx, ax
jne 0x4512fe
mov al, byte [edi + 0xa8]
mov byte [ebp + 8], al
jmp 0x451302
mov byte [ebp + 8], 0
lea eax, [ebp + 8]
push eax
lea esi, [ebp - 0x3c]
call fcn.00451b77
mov eax, edi
call fcn.0044eef7
cmp word [edi + 0xa8], 0
jne 0x4512da
mov eax, dword [ebp - 0x30]
and dword [ebp - 0x18], 0
test eax, eax
mov dword [ebp + 8], eax
jne 0x451334
mov dword [ebp + 8], 0x5160ee
lea ebx, [ebp - 0x18]
lea esi, [ebp + 8]
call fcn.00450338
push 0x20
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
test eax, eax
pop ecx
je 0x451178
push dword [ebp - 0x18]
jmp 0x451171
xor ecx, ecx
cmp ax, 0x3c
setne cl
push 0x20
dec ecx
and ecx, 0x17
add ecx, 0x27
movzx eax, cx
mov dword [ebp - 0x18], eax
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, esi
pop ecx
je 0x451382
push 0xfffffffffffffffd
call fcn.0045216e
jmp 0x451384
xor eax, eax
push eax
mov eax, edi
call fcn.0044fd0c
mov dword [ebp - 0x14], eax
mov eax, edi
call fcn.0044eef7
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x3c], vtable.CBufferT_char_.0
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 4], 4
cmp word [edi + 0xa8], si
je 0x45141d
movzx eax, word [edi + 0xa8]
cmp ax, word [ebp - 0x18]
je 0x45141d
mov esi, dword [ebp - 0x14]
movzx eax, ax
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
xor ebx, ebx
push eax
inc ebx
add esi, 0xc
call fcn.00451ff1
movzx eax, word [edi + 0xa8]
mov cl, al
and cx, 0xff
cmp cx, ax
jne 0x4513fc
mov al, byte [edi + 0xa8]
mov byte [ebp + 8], al
jmp 0x451400
mov byte [ebp + 8], 0
lea eax, [ebp + 8]
push eax
lea esi, [ebp - 0x3c]
call fcn.00451b77
mov eax, edi
call fcn.0044eef7
cmp word [edi + 0xa8], 0
jne 0x4513b9
mov eax, edi
call fcn.0044eef7
mov eax, dword [ebp - 0x30]
test eax, eax
mov dword [ebp + 8], eax
jne 0x451435
mov dword [ebp + 8], 0x5160ee
lea ebx, [ebp - 0x20]
lea esi, [ebp + 8]
call fcn.00450338
test eax, eax
je 0x451450
mov ecx, dword [ebp + 8]
xor eax, eax
cmp byte [ecx], al
sete al
jmp 0x451452
xor eax, eax
test eax, eax
mov ebx, dword [ebp - 0x14]
je 0x451467
mov eax, dword [ebp - 0x20]
mov dword [ebx + 8], eax
lea eax, [ebx + 0xc]
call fcn.0045206b
push ebx
lea esi, [edi + 0x3c]
call fcn.00452196
jmp 0x451626
cmp ax, 0x27
jne 0x451482
mov dword [ebp - 0x18], 0x27
mov eax, edi
call fcn.0044eef7
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x20], eax
inc eax
push 0x1c
mov dword [edi + 0xc], eax
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
xor esi, esi
cmp eax, esi
pop ecx
je 0x4514ae
mov ecx, dword [ebx]
and ecx, 0x10
push ecx
call fcn.004500fc
jmp 0x4514b0
xor eax, eax
push eax
mov eax, edi
call fcn.0044fd0c
push 0x20
mov dword [ebp - 0x28], eax
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, esi
pop ecx
je 0x4514d9
mov ecx, dword [ebx]
shr ecx, 4
and ecx, 1
push ecx
push 0xffffffffffffffff
call fcn.00452107
jmp 0x4514db
xor eax, eax
push eax
mov eax, edi
call fcn.0044fd0c
push 0x20
mov dword [ebp - 0x14], eax
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, esi
pop ecx
je 0x451506
mov ecx, dword [ebx]
shr ecx, 4
not ecx
and ecx, 1
push ecx
push 0xffffffffffffffff
call fcn.00452107
jmp 0x451508
xor eax, eax
push eax
mov eax, edi
call fcn.0044fd0c
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x3c], vtable.CBufferT_char_.0
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 4], 2
cmp word [edi + 0xa8], si
je 0x45159a
movzx eax, word [edi + 0xa8]
cmp ax, word [ebp - 0x18]
je 0x45159a
mov esi, dword [ebp - 0x14]
movzx eax, ax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
xor ebx, ebx
push eax
inc ebx
add esi, 0xc
call fcn.00451ff1
movzx eax, word [edi + 0xa8]
mov cl, al
and cx, 0xff
cmp cx, ax
jne 0x451579
mov al, byte [edi + 0xa8]
mov byte [ebp - 0x10], al
jmp 0x45157d
mov byte [ebp - 0x10], 0
lea eax, [ebp - 0x10]
push eax
lea esi, [ebp - 0x3c]
call fcn.00451b77
mov eax, edi
call fcn.0044eef7
cmp word [edi + 0xa8], 0
jne 0x451536
mov eax, edi
call fcn.0044eef7
mov eax, dword [ebp - 0x30]
test eax, eax
mov dword [ebp - 0x18], eax
jne 0x4515b2
mov dword [ebp - 0x18], 0x5160ee
lea ebx, [ebp - 0x24]
lea esi, [ebp - 0x18]
call fcn.00450338
test eax, eax
je 0x4515cd
mov ecx, dword [ebp - 0x18]
xor eax, eax
cmp byte [ecx], al
sete al
jmp 0x4515cf
xor eax, eax
test eax, eax
je 0x4515ea
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 4], eax
mov dword [edx + 4], eax
lea eax, [ecx + 0xc]
call fcn.0045206b
mov ebx, dword [ebp - 0x28]
push dword [ebp - 0x14]
lea esi, [ebx + 4]
call fcn.00452196
mov eax, dword [ebp + 8]
push dword [eax]
mov ecx, edi
call fcn.0044ef35
push eax
call fcn.00452196
push dword [ebp - 0x1c]
call fcn.00452196
mov eax, dword [ebp - 0x20]
lea esi, [edi + 0x50]
call fcn.0044edb9
mov eax, dword [edi + 0x5c]
mov ecx, dword [ebp - 0x20]
mov dword [eax + ecx*4], ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
mov esi, ebx
call fcn.0044e7f6
jmp 0x45167c
mov eax, edi
call fcn.0044eef7
push 8
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
pop ecx
mov dword [ebp - 0x28], esi
test esi, esi
mov dword [ebp - 4], 3
je 0x45166c
mov eax, dword [ebp + 8]
push dword [eax]
mov ecx, edi
call fcn.0044ef35
mov dword [esi], vtable.CIndependentElxT_0_.0
mov dword [esi + 4], eax
jmp 0x45166e
xor esi, esi
or dword [ebp - 4], 0xffffffff
push esi
mov eax, edi
call fcn.0044fd0c
mov esi, eax
mov eax, edi
call fcn.0044eef7
mov eax, esi
call fcn.004d7744
ret 4
push 0x1c
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
test eax, eax
mov ebx, dword [ebp + 8]
pop ecx
je 0x4516a9
mov ecx, dword [ebx]
and ecx, 0x10
push ecx
call fcn.004500fc
jmp 0x4516ab
xor eax, eax
push eax
mov eax, edi
call fcn.0044fd0c
inc dword [edi + 8]
mov esi, dword [edi + 8]
push 0x20
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], esi
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
test eax, eax
pop ecx
je 0x4516dc
mov ecx, dword [ebx]
shr ecx, 4
and ecx, 1
push ecx
push esi
call fcn.00452107
jmp 0x4516de
xor eax, eax
mov esi, dword [ebp - 0x1c]
push eax
mov eax, edi
add esi, 4
call fcn.0044fd0c
push eax
call fcn.00452196
push dword [ebx]
mov ecx, edi
call fcn.0044ef35
push eax
call fcn.00452196
push 0x20
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
test eax, eax
pop ecx
je 0x451722
mov ecx, dword [ebx]
shr ecx, 4
not ecx
and ecx, 1
push ecx
push dword [ebp - 0x20]
call fcn.00452107
jmp 0x451724
xor eax, eax
push eax
mov eax, edi
call fcn.0044fd0c
push eax
call fcn.00452196
mov ebx, dword [ebp - 0x20]
lea esi, [edi + 0x28]
mov eax, ebx
call fcn.0044edb9
mov ecx, dword [edi + 0x34]
mov eax, dword [ebp - 0x1c]
mov dword [ecx + ebx*4], eax
jmp 0x45167a