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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4797a5
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
mov eax, dword [0x493040]
xor eax, esp
mov dword [esp + 0xc0], eax
push ebx
push esi
push edi
mov eax, dword [0x493040]
xor eax, esp
push eax
lea eax, [esp + 0xd8]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
push 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
mov ecx, 0x482954
mov eax, esi
xor ebx, ebx
pop edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x43064f
cmp dx, bx
je 0x43064b
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x43064f
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x43062b
xor eax, eax
jmp 0x430654
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4306f4
and dword [esp + 0x18], ebx
push 0xa
pop esi
push esi
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
call fcn.0046ac76
add esp, 0xc
mov ebx, eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0046ac76
add esp, 0xc
mov dword [esp + 0x28], eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0046ac76
add esp, 0xc
mov edi, eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0046ac76
mov ecx, dword [esp + 0x20]
add esp, 0xc
push dword [esp + 0x28]
mov esi, eax
mov eax, dword [ecx]
push ebx
call dword [eax + 0x70]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
sub edi, ebx
push edi
call dword [eax + 0x80]
sub esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
push esi
call dword [eax + 0x88]
jmp 0x4314a1
mov ecx, 0x48295c
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x43071f
cmp dx, bx
je 0x43071b
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x43071f
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x4306fb
xor eax, eax
jmp 0x430724
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4307b6
xor eax, eax
lea edi, [esp + 0x28]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0xa
pop esi
stosd dword es:[edi], eax
push esi
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.0046ac76
add esp, 0xc
mov dword [esp + 0x24], eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0046ac76
add esp, 0xc
mov dword [esp + 0x28], eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0046ac76
add esp, 0xc
mov dword [esp + 0x2c], eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0046ac76
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx]
push ecx
mov edi, esp
lea esi, [esp + 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 0x68]
jmp 0x4314a1
mov ecx, 0x48296c
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4307e1
cmp dx, bx
je 0x4307dd
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4307e1
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x4307bd
xor eax, eax
jmp 0x4307e6
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x43143f
mov ecx, 0x48297c
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430819
cmp dx, bx
je 0x430815
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430819
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x4307f5
xor eax, eax
jmp 0x43081e
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x43143f
mov ecx, 0x482990
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430851
cmp dx, bx
je 0x43084d
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430851
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x43082d
xor eax, eax
jmp 0x430856
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4308b2
mov eax, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x430876
cmp ax, 0x20
ja 0x43087e
push dword [esp + 0x10]
call esi
mov dword [esp + 0x10], eax
movzx eax, word [eax]
cmp ax, bx
ja 0x430866
mov eax, dword [esp + 0x10]
cmp word [eax], 0x23
jne 0x43088f
push eax
call esi
mov dword [esp + 0x10], eax
push 0x10
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.0046aca1
mov edx, dword [esp + 0x20]
lea ecx, [edx + 0x37c]
jmp 0x431492
mov ecx, 0x4829a4
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4308dd
cmp dx, bx
je 0x4308d9
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4308dd
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x4308b9
xor eax, eax
jmp 0x4308e2
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x43093e
mov eax, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x430902
cmp ax, 0x20
ja 0x43090a
push dword [esp + 0x10]
call esi
mov dword [esp + 0x10], eax
movzx eax, word [eax]
cmp ax, bx
ja 0x4308f2
mov eax, dword [esp + 0x10]
cmp word [eax], 0x23
jne 0x43091b
push eax
call esi
mov dword [esp + 0x10], eax
push 0x10
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.0046aca1
mov edx, dword [esp + 0x20]
lea ecx, [edx + 0x380]
jmp 0x431492
mov ecx, 0x4829b8
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430969
cmp dx, bx
je 0x430965
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430969
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430945
xor eax, eax
jmp 0x43096e
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4309aa
mov eax, dword [esp + 0x10]
cmp word [eax], 0x23
jne 0x430987
push eax
call dword [sym.imp.USER32.dll_CharNextW]
mov dword [esp + 0x10], eax
push 0x10
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.0046aca1
mov edx, dword [esp + 0x20]
lea ecx, [edx + 0x60c]
jmp 0x431492
mov ecx, 0x4829d0
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4309d5
cmp dx, bx
je 0x4309d1
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4309d5
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x4309b1
xor eax, eax
jmp 0x4309da
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x430a16
mov eax, dword [esp + 0x10]
cmp word [eax], 0x23
jne 0x4309f3
push eax
call dword [sym.imp.USER32.dll_CharNextW]
mov dword [esp + 0x10], eax
push 0x10
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.0046aca1
mov edx, dword [esp + 0x20]
lea ecx, [edx + 0x610]
jmp 0x431492
mov ecx, 0x4829f4
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430a41
cmp dx, bx
je 0x430a3d
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430a41
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430a1d
xor eax, eax
jmp 0x430a46
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x430a9a
mov eax, dword [esp + 0x10]
mov ecx, 0x481b84
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430a77
cmp dx, bx
je 0x430a73
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430a77
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430a53
xor eax, eax
jmp 0x430a7c
sbb eax, eax
sbb eax, 0xffffffff
mov edx, dword [esp + 0x14]
cmp eax, ebx
sete cl
lea eax, [edx + 0x614]
cmp byte [eax], cl
je 0x4314a1
mov byte [eax], cl
jmp 0x43149b
mov ecx, 0x482a08
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430ac5
cmp dx, bx
je 0x430ac1
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430ac5
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430aa1
xor eax, eax
jmp 0x430aca
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x430ba4
push 0xffffffffffffffff
push dword [esp + 0x14]
lea eax, [esp + 0x4c]
call fcn.00424220
push 0x2c
xor ecx, ecx
lea esi, [esp + 0x48]
mov dword [esp + 0xe4], ebx
call fcn.00424593
test eax, eax
jge 0x430b13
push dword [esp + 0x10]
call fcn.0046ad44
pop ecx
mov ecx, eax
mov eax, dword [esp + 0x14]
call fcn.0042f821
jmp 0x431304
xor eax, eax
lea edi, [esp + 0x28]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0xa
pop esi
stosd dword es:[edi], eax
push esi
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.0046ac76
add esp, 0xc
mov dword [esp + 0x24], eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0046ac76
add esp, 0xc
mov dword [esp + 0x28], eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0046ac76
add esp, 0xc
mov dword [esp + 0x2c], eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0046ac76
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x20]
lea edi, [eax + 0x638]
lea esi, [esp + 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add esp, 0xc
push eax
movsd dword es:[edi], dword [esi]
call fcn.00430347
jmp 0x431304
mov ecx, 0x482a20
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430bcf
cmp dx, bx
je 0x430bcb
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430bcf
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430bab
xor eax, eax
jmp 0x430bd4
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x430bf2
push dword [esp + 0x10]
call fcn.0046ad44
pop ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x618], eax
push ecx
jmp 0x43149c
mov ecx, 0x482a38
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430c1d
cmp dx, bx
je 0x430c19
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430c1d
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430bf9
xor eax, eax
jmp 0x430c22
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x430c73
push 0xa
xor eax, eax
pop esi
lea edi, [esp + 0x1c]
stosd dword es:[edi], eax
push esi
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.0046ac76
add esp, 0xc
mov edi, eax
push esi
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
call fcn.0046ac76
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov dword [ecx + 0x620], edi
mov dword [ecx + 0x624], eax
jmp 0x430bec
mov ecx, 0x482a50
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430c9e
cmp dx, bx
je 0x430c9a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430c9e
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430c7a
xor eax, eax
jmp 0x430ca3
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x430cb9
push dword [esp + 0x10]
mov edi, dword [esp + 0x18]
call fcn.0042f7ac
jmp 0x4314a1
mov ecx, 0x482a60
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430ce4
cmp dx, bx
je 0x430ce0
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430ce4
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430cc0
xor eax, eax
jmp 0x430ce9
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x430cfb
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
sub esi, 0xffffff80
jmp 0x430fb2
mov ecx, 0x482a6c
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430d26
cmp dx, bx
je 0x430d22
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430d26
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430d02
xor eax, eax
jmp 0x430d2b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x430d40
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0x88
jmp 0x430fb2
mov ecx, 0x482a7c
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430d6b
cmp dx, bx
je 0x430d67
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430d6b
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430d47
xor eax, eax
jmp 0x430d70
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x430d85
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0x90
jmp 0x430fb2
mov ecx, 0x482a90
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430db0
cmp dx, bx
je 0x430dac
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430db0
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430d8c
xor eax, eax
jmp 0x430db5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x430dca
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0xa0
jmp 0x430fb2
mov ecx, 0x482aa4
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430df5
cmp dx, bx
je 0x430df1
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430df5
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430dd1
xor eax, eax
jmp 0x430dfa
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x430e0f
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0x98
jmp 0x430fb2
mov ecx, 0x482ab8
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430e3a
cmp dx, bx
je 0x430e36
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430e3a
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430e16
xor eax, eax
jmp 0x430e3f
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x430e54
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0xa8
jmp 0x430fb2
mov ecx, 0x482070
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430e7f
cmp dx, bx
je 0x430e7b
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430e7f
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430e5b
xor eax, eax
jmp 0x430e84
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x430e9a
mov ecx, dword [esp + 0x14]
push dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0xc]
jmp 0x4314a1
mov ecx, 0x482acc
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430ec5
cmp dx, bx
je 0x430ec1
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430ec5
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430ea1
xor eax, eax
jmp 0x430eca
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x430ee0
mov ecx, dword [esp + 0x14]
push dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x3c]
jmp 0x4314a1
mov ecx, 0x482ad8
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430f0b
cmp dx, bx
je 0x430f07
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430f0b
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430ee7
xor eax, eax
jmp 0x430f10
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x430f29
mov ecx, dword [esp + 0x14]
push dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0xb0]
jmp 0x4314a1
mov ecx, 0x482ae8
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430f54
cmp dx, bx
je 0x430f50
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430f54
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430f30
xor eax, eax
jmp 0x430f59
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x430f72
mov ecx, dword [esp + 0x14]
push dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0xd0]
jmp 0x4314a1
mov ecx, 0x482afc
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430f9d
cmp dx, bx
je 0x430f99
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430f9d
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430f79
xor eax, eax
jmp 0x430fa2
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x430fc8
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
add esi, 0xd8
push dword [esp + 0x10]
call fcn.0046ad44
pop ecx
mov ecx, dword [esp + 0x14]
push eax
call dword [esi]
jmp 0x4314a1
mov ecx, 0x482b04
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x430ff3
cmp dx, bx
je 0x430fef
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x430ff3
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x430fcf
xor eax, eax
jmp 0x430ff8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x431048
mov eax, dword [esp + 0x10]
mov ecx, 0x481b84
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x431029
cmp dx, bx
je 0x431025
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x431029
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x431005
xor eax, eax
jmp 0x43102e
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
cmp eax, ebx
sete al
movzx eax, al
push eax
call dword [edx + 0xec]
jmp 0x4314a1
mov ecx, 0x482b14
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x431073
cmp dx, bx
je 0x43106f
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x431073
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x43104f
xor eax, eax
jmp 0x431078
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4310c8
mov eax, dword [esp + 0x10]
mov ecx, 0x481b84
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4310a9
cmp dx, bx
je 0x4310a5
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4310a9
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x431085
xor eax, eax
jmp 0x4310ae
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
cmp eax, ebx
sete al
movzx eax, al
push eax
call dword [edx + 0xf4]
jmp 0x4314a1
mov ecx, 0x482b20
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4310f3
cmp dx, bx
je 0x4310ef
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4310f3
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x4310cf
xor eax, eax
jmp 0x4310f8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x431148
mov eax, dword [esp + 0x10]
mov ecx, 0x481b84
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x431129
cmp dx, bx
je 0x431125
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x431129
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x431105
xor eax, eax
jmp 0x43112e
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
cmp eax, ebx
sete al
movzx eax, al
push eax
call dword [edx + 0xfc]
jmp 0x4314a1
mov ecx, 0x482b34
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x431173
cmp dx, bx
je 0x43116f
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x431173
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x43114f
xor eax, eax
jmp 0x431178
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4311c8
mov eax, dword [esp + 0x10]
mov ecx, 0x481b84
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4311a9
cmp dx, bx
je 0x4311a5
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4311a9
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x431185
xor eax, eax
jmp 0x4311ae
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
cmp eax, ebx
sete al
movzx eax, al
push eax
call dword [edx + 0xe0]
jmp 0x4314a1
mov ecx, 0x482b44
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4311f3
cmp dx, bx
je 0x4311ef
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4311f3
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x4311cf
xor eax, eax
jmp 0x4311f8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x431312
push 0xffffffffffffffff
push dword [esp + 0x14]
lea eax, [esp + 0x4c]
call fcn.00424220
xor ebx, ebx
inc ebx
push 0x2c
xor ecx, ecx
lea esi, [esp + 0x48]
mov dword [esp + 0xe4], ebx
call fcn.00424593
test eax, eax
jge 0x431276
mov eax, dword [esp + 0x10]
mov ecx, 0x481b84
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x431257
test dx, dx
je 0x431253
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x431257
add eax, edi
add ecx, edi
test dx, dx
jne 0x431233
xor eax, eax
jmp 0x43125c
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
test eax, eax
sete al
movzx eax, al
push eax
call dword [edx + 0x10c]
jmp 0x431304
push 6
xor eax, eax
and dword [esp + 0x24], eax
pop ecx
lea edi, [esp + 0x2c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x14]
call fcn.0046af73
fstp qword [esp + 0x2c]
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x2c]
add eax, 2
push eax
call fcn.0046af73
fstp qword [esp + 0x3c]
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x34]
add eax, 2
push eax
call fcn.0046af73
fstp qword [esp + 0x4c]
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x3c]
add eax, 2
push eax
call fcn.0046af73
fld qword [esp + 0x44]
mov esi, dword [esp + 0x34]
mov edx, dword [esi]
mov eax, esp
fstp qword [eax]
mov ecx, esi
fld qword [esp + 0x4c]
fstp qword [eax + 8]
fld qword [esp + 0x54]
fstp qword [eax + 0x10]
fstp qword [eax + 0x18]
call dword [edx + 0x78]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x10c]
lea ecx, [esp + 0x44]
call fcn.00424260
jmp 0x4314a1
mov ecx, 0x482b50
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x43133d
cmp dx, bx
je 0x431339
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x43133d
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x431319
xor eax, eax
jmp 0x431342
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x43135f
mov edx, dword [esp + 0x10]
movzx edx, word [edx]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
push edx
call dword [eax + 0xc0]
jmp 0x4314a1
mov ecx, 0x482948
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x43138a
cmp dx, bx
je 0x431386
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x43138a
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x431366
xor eax, eax
jmp 0x43138f
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4313df
mov eax, dword [esp + 0x10]
mov ecx, 0x481b84
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4313c0
cmp dx, bx
je 0x4313bc
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4313c0
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x43139c
xor eax, eax
jmp 0x4313c5
sbb eax, eax
sbb eax, 0xffffffff
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
cmp eax, ebx
sete al
movzx eax, al
push eax
call dword [edx + 0xc8]
jmp 0x4314a1
mov ecx, 0x482b64
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x43140a
cmp dx, bx
je 0x431406
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x43140a
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x4313e6
xor eax, eax
jmp 0x43140f
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x43142f
mov esi, dword [esp + 0x14]
push dword [esp + 0x10]
lea eax, [esi + 0x68]
call fcn.0042443b
mov eax, dword [esi + 0x5c]
mov byte [eax + 0x2bb], 1
jmp 0x4314a1
mov eax, dword [esp + 0x10]
push esi
push dword [esp + 0x18]
call fcn.004301fa
jmp 0x4314a1
mov eax, dword [esp + 0x10]
mov esi, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x43145b
cmp ax, 0x20
ja 0x431463
push dword [esp + 0x10]
call esi
mov dword [esp + 0x10], eax
movzx eax, word [eax]
cmp ax, bx
ja 0x43144b
mov eax, dword [esp + 0x10]
cmp word [eax], 0x23
jne 0x431474
push eax
call esi
mov dword [esp + 0x10], eax
push 0x10
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.0046aca1
mov edx, dword [esp + 0x20]
lea ecx, [edx + 0x378]
add esp, 0xc
cmp dword [ecx], eax
je 0x4314a1
mov dword [ecx], eax
push edx
call fcn.00430347
mov ecx, dword [esp + 0xd8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.0045d55f
mov esp, ebp
pop ebp
ret 8