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

Disassembly:
sub esp, 0x41c
push ebx
mov ebx, dword [esp + 0x424]
push ebp
xor edx, edx
push esi
xor ecx, ecx
xor ebp, ebp
push edi
mov dword [esp + 0x24], edx
xor esi, esi
mov di, word [ebx]
mov eax, 0x4732e8
cmp di, word [eax]
je 0x445574
mov eax, 0x4732e4
cmp di, word [eax]
jne 0x44559b
mov al, byte [edx + ebx]
cmp al, 0x28
jne 0x445586
inc ecx
cmp cx, 1
jne 0x445590
mov ebp, edx
jmp 0x445590
cmp al, 0x29
jne 0x445590
inc esi
cmp cx, si
je 0x4455a5
inc edx
cmp edx, 0xdc
jl 0x44555d
jmp 0x4455fc
mov dword [esp + 0x24], 1
jmp 0x4455fc
mov ecx, 0x4b
xor eax, eax
lea edi, [esp + 0xa8]
rep stosd dword es:[edi], eax
movsx eax, bp
inc eax
cmp eax, edx
jge 0x4455d9
mov ecx, edx
lea esi, [eax + ebx]
sub ecx, eax
lea edi, [esp + 0xa8]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [edx + 1]
xor eax, eax
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push 0xdc
and ecx, 3
push ebx
rep stosb byte es:[edi], al
call fcn.00415b30
add esp, 8
mov ecx, 0x4b
xor eax, eax
lea edi, [esp + 0x1d4]
lea edx, [esp + 0xab]
rep stosd dword es:[edi], eax
mov ecx, 0x4b
lea edi, [esp + 0x300]
rep stosd dword es:[edi], eax
mov eax, 4
xor ecx, ecx
sub eax, edx
lea edx, [esp + 0xa8]
mov dword [esp + 0x3c], eax
mov eax, 2
xor ebp, ebp
sub eax, edx
mov dword [esp + 0x10], ecx
lea ebx, [esp + 0xa8]
mov dword [esp + 0x38], eax
cmp word [esp + 0x24], 1
je case.0x445c6e.9
mov al, byte [ebx]
cmp al, 0x3c
jl 0x4457bc
cmp al, 0x3e
jle 0x4456db
cmp al, 0x4e
jne 0x4457bc
mov ecx, 3
mov edi, 0x473320
mov esi, ebx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4457bc
mov al, byte [ebx + 3]
cmp al, 0x3d
jne 0x445696
mov dword [esp + 0x10], 2
jmp 0x4456b0
cmp al, 0x3e
jne 0x4456a4
mov dword [esp + 0x10], 3
jmp 0x4456b0
cmp al, 0x3c
jne 0x4456b0
mov dword [esp + 0x10], 4
mov ecx, ebp
lea esi, [esp + 0xa8]
mov edx, ecx
lea edi, [esp + 0x300]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x3c]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebx + eax + 3]
jmp 0x445765
mov ax, word [ebx]
mov edx, 0x471094
cmp ax, word [edx]
jne 0x4456f2
mov dword [esp + 0x10], 5
jmp 0x445740
mov ax, word [ebx]
mov edx, 0x471090
cmp ax, word [edx]
jne 0x445709
mov dword [esp + 0x10], 6
jmp 0x445740
mov ax, word [ebx]
mov edx, 0x47331c
cmp ax, word [edx]
jne 0x445720
mov dword [esp + 0x10], 7
jmp 0x445740
mov ax, word [ebx]
mov edx, 0x473318
cmp ax, word [edx]
jne 0x445737
mov dword [esp + 0x10], 8
jmp 0x445740
test cx, cx
je 0x4457dc
mov ecx, ebp
lea esi, [esp + 0xa8]
mov edx, ecx
lea edi, [esp + 0x300]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x38]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [eax + ebx]
mov edx, ecx
xor eax, eax
lea edi, [esp + 0xa8]
push 0xdc
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea eax, [esp + 0xac]
push eax
call fcn.00415b30
lea edi, [esp + 0xb0]
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x1d4]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
test cx, cx
jne 0x44588f
inc ebp
inc ebx
cmp ebp, 0xdc
jge 0x44588f
jmp 0x44564d
mov al, byte [ebx]
mov edx, 0x473314
cmp al, byte [edx]
je 0x4457fb
mov edx, 0x473310
cmp al, byte [edx]
je 0x445805
mov edx, str.__
cmp al, byte [edx]
je 0x44580f
jmp 0x4457c9
mov dword [esp + 0x10], 1
jmp 0x445817
mov dword [esp + 0x10], 0xb
jmp 0x445817
mov dword [esp + 0x10], 0xc
mov ecx, ebp
lea esi, [esp + 0xa8]
mov edx, ecx
lea edi, [esp + 0x300]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
xor eax, eax
and ecx, 3
push 0xdc
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp + 1]
lea edi, [esp + 0xac]
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea eax, [esp + 0xac]
push eax
call fcn.00415b30
lea edi, [esp + 0xb0]
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x1d4]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp word [esp + 0x24], 1
je case.0x445c6e.9
mov ecx, 5
mov edi, str.COM71
lea esi, [esp + 0x1d4]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x445b02
mov ecx, 3
mov edi, str.COM071
lea esi, [esp + 0x1d4]
xor eax, eax
repe cmpsw word [esi], word es:[edi]
je 0x445b02
mov ecx, 5
mov edi, str.COM71
lea esi, [esp + 0x300]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x445b02
mov ecx, 5
mov edi, str.COM071
lea esi, [esp + 0x300]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x445b02
lea ecx, [esp + 0x14]
lea edx, [esp + 0x1d4]
push ecx
push edx
call fcn.00447290
add esp, 8
test ax, ax
jge 0x445932
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x300]
push eax
push ecx
call fcn.00447290
add esp, 8
test ax, ax
jge 0x44595c
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
movsx eax, word [esp + 0x10]
dec eax
cmp eax, 0xb
ja case.0x445c6e.9
jmp dword [eax*4 + 0x445e44]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
call fcn.00461740
add esp, 0x10
test eax, eax
je 0x445e19
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
call fcn.00461740
add esp, 0x10
test eax, eax
jne 0x445e19
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
push edx
push eax
push ecx
jmp 0x445a46
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
jmp 0x445a7a
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
jmp 0x445a46
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
push edx
push eax
push ecx
jmp 0x445a7a
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
call fcn.00461740
add esp, 0x10
test eax, eax
jge 0x445e19
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
call fcn.00461740
add esp, 0x10
test eax, eax
jle 0x445e19
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
push edx
push eax
push ecx
call fcn.00461740
add esp, 0x10
test eax, eax
jl 0x445e19
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
call fcn.00461740
add esp, 0x10
test eax, eax
jg 0x445e19
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
mov ecx, 0xc
xor eax, eax
lea edi, [esp + 0x40]
xor edx, edx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, 0x20202020
mov ecx, 0xc
mov dword [esp + 0x40], eax
lea edi, [esp + 0x74]
mov dword [esp + 0x44], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x48], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, 0x20202020
mov dword [esp + 0x2c], edx
stosw word es:[edi], ax
mov dword [esp + 0x74], ecx
mov edi, 0x46cba8
mov dword [esp + 0x78], ecx
lea esi, [esp + 0x1d4]
mov dword [esp + 0x7c], ecx
mov ecx, 3
xor eax, eax
mov dword [esp + 0x30], edx
repe cmpsb byte [esi], byte es:[edi]
mov byte [esp + 0x34], dl
jne 0x445bc4
lea edi, [esp + 0x300]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea esi, [esp + 0x300]
mov edx, ecx
lea edi, [esp + 0x74]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x1d4]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x74]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea esi, [esp + 0x74]
mov eax, ecx
lea edi, [esp + 0x28]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x40]
push ecx
push edx
jmp 0x445c1f
lea edi, [esp + 0x1d4]
or ecx, 0xffffffff
xor eax, eax
lea esi, [esp + 0x1d4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x40]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x40]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea esi, [esp + 0x40]
mov edx, ecx
lea edi, [esp + 0x28]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x74]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x304]
push ecx
call fcn.00410290
lea edi, [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
add esp, 8
xor edx, edx
mov esi, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
test ecx, ecx
jle 0x445c5f
mov bl, 0x2a
cmp byte [esp + edx + 0x28], bl
je 0x445c5d
lea edi, [esp + 0x28]
or ecx, 0xffffffff
xor eax, eax
inc edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jl 0x445c42
jmp 0x445c5f
mov esi, edx
movsx eax, word [esp + 0x10]
dec eax
cmp eax, 0xb
ja case.0x445c6e.9
jmp dword [eax*4 + 0x445e74]
mov ecx, esi
lea edi, [esp + 0x74]
lea esi, [esp + 0x40]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x445e19
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
mov ecx, esi
lea edi, [esp + 0x74]
lea esi, [esp + 0x40]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x445e19
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
mov ecx, esi
lea edi, [esp + 0x74]
lea esi, [esp + 0x40]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x445cd2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jge 0x445e19
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
mov ecx, esi
lea edi, [esp + 0x74]
lea esi, [esp + 0x40]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x445cff
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jle 0x445e19
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
mov ecx, esi
lea edi, [esp + 0x74]
lea esi, [esp + 0x40]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x445d2c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jge 0x445e19
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
mov ecx, esi
lea edi, [esp + 0x74]
lea esi, [esp + 0x40]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x445d59
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jle 0x445e19
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
mov ecx, esi
lea edi, [esp + 0x74]
lea esi, [esp + 0x40]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x445d86
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jge 0x445e19
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
mov ecx, esi
lea edi, [esp + 0x74]
lea esi, [esp + 0x40]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x445db3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jle 0x445e19
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
mov ecx, esi
lea edi, [esp + 0x74]
lea esi, [esp + 0x40]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x445ddc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jl 0x445e19
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
mov ecx, esi
lea edi, [esp + 0x74]
lea esi, [esp + 0x40]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x445e05
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jg 0x445e19
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x41c
ret
mov ecx, dword [esp + 0x438]
mov edx, dword [esp + 0x434]
mov eax, dword [esp + 0x430]
push ecx
push edx
push eax
call fcn.00444980
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x41c
ret