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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc4
mov eax, dword [0x5c8910]
xor eax, esp
mov dword [esp + 0xc0], eax
mov dword [esp + 0x68], edx
mov edx, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
movsx eax, byte [edx]
push edi
xor edi, edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x14], esi
test eax, eax
je case.default.0x4673a0
mov dword [esp + 0x78], 0x59ab00
mov dword [esp + 0x6c], 6
mov dword [esp + 0x7c], SysReAllocString
mov dword [esp + 0x64], 0x15e
mov dword [esp + 0x68], 0x64
movsd xmm4, qword [0x5ab9c8]
cmp eax, 0x25
je 0x4671c1
xor eax, eax
mov edi, edx
inc eax
inc edx
mov dword [esp + 0x2c], edx
movsx esi, byte [edx]
cmp esi, 0x25
je 0x4671a0
test esi, esi
je 0x46719c
inc eax
inc edx
movsx esi, byte [edx]
cmp esi, 0x25
jne 0x46718e
mov dword [esp + 0x2c], edx
push eax
mov edx, edi
call fcn.00467d43
pop ecx
test esi, esi
je case.default.0x4673a0
movsd xmm4, qword [0x5ab9c8]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
inc edx
movsx ecx, byte [edx]
test ecx, ecx
je 0x467cdc
xor al, al
mov byte [esp + 0x32], al
xor eax, eax
mov byte [esp + 0x1e], al
mov byte [esp + 0x1d], al
mov byte [esp + 0x1b], al
mov byte [esp + 0x33], al
mov byte [esp + 0x1f], al
mov eax, ecx
sub eax, 0x20
je 0x467228
dec eax
je 0x467221
dec eax
dec eax
je 0x46721a
sub eax, 8
je 0x467213
dec eax
dec eax
je 0x46720c
sub eax, 3
jne 0x467235
mov byte [esp + 0x32], 1
jmp 0x46722d
mov byte [esp + 0x1f], 1
jmp 0x46722d
mov byte [esp + 0x33], 1
jmp 0x46722d
mov byte [esp + 0x1d], 1
jmp 0x46722d
mov byte [esp + 0x1e], 1
jmp 0x46722d
mov byte [esp + 0x1b], 1
inc edx
movsx ecx, byte [edx]
test ecx, ecx
jne 0x4671e9
xor eax, eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], eax
cmp ecx, 0x2a
jne 0x467266
mov eax, dword [esi]
add esi, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], eax
test eax, eax
jns 0x467260
neg eax
mov byte [esp + 0x1f], 1
mov dword [esp + 0x20], eax
inc edx
movsx ecx, byte [edx]
jmp 0x467285
cmp ecx, 0x30
jl 0x467289
cmp ecx, 0x39
jg 0x467281
imul eax, eax, 0xa
add ecx, 0xffffffd0
add eax, ecx
inc edx
movsx ecx, byte [edx]
cmp ecx, 0x30
jge 0x46726b
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], edx
cmp ecx, 0x2e
jne 0x4672f0
mov eax, dword [esp + 0x2c]
xor edx, edx
inc eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x2c], eax
movsx ecx, byte [eax]
cmp ecx, 0x2a
jne 0x4672ca
mov edx, dword [esi]
add esi, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], edx
test edx, edx
jns 0x4672bc
neg edx
mov dword [esp + 0x24], edx
mov esi, dword [esp + 0x2c]
inc esi
mov dword [esp + 0x2c], esi
movsx ecx, byte [esi]
jmp 0x4672fb
mov esi, dword [esp + 0x2c]
jmp 0x4672e9
cmp ecx, 0x39
jg 0x4672fb
imul eax, edx, 0xa
lea edx, [ecx - 0x30]
add edx, eax
inc esi
mov dword [esp + 0x24], edx
mov dword [esp + 0x2c], esi
movsx ecx, byte [esi]
cmp ecx, 0x30
jge 0x4672d0
jmp 0x4672fb
mov esi, dword [esp + 0x2c]
or edx, 0xffffffff
mov dword [esp + 0x24], edx
cmp ecx, 0x6c
jne 0x467329
inc esi
mov al, 1
mov byte [esp + 0x1c], al
mov dword [esp + 0x2c], esi
movsx ecx, byte [esi]
cmp ecx, 0x6c
jne 0x467321
inc esi
mov byte [esp + 0x12], al
mov dword [esp + 0x2c], esi
movsx ecx, byte [esi]
jmp 0x467333
xor al, al
mov byte [esp + 0x12], al
jmp 0x467333
xor al, al
mov byte [esp + 0x12], al
mov byte [esp + 0x1c], al
mov esi, dword [esp + 0x78]
xor eax, eax
mov dword [esp + 0x44], esi
mov byte [esp + 0x13], 0
mov dword [esp + 0x40], eax
movsx eax, byte [esi]
cmp ecx, eax
je 0x467367
add esi, dword [esp + 0x6c]
inc dword [esp + 0x40]
cmp esi, 0x59ab8a
jl 0x467346
mov cl, byte [esp + 0x13]
mov esi, dword [esp + 0x44]
jmp 0x46738e
imul esi, dword [esp + 0x40], 6
add esi, 0x59ab00
cmp dword [esp + 0x74], 0
mov dword [esp + 0x44], esi
jne 0x467387
test byte [esi + 2], 2
jne case.default.0x4673a0
mov cl, byte [esi + 3]
mov byte [esp + 0x13], cl
and dword [esp + 0x40], 0
movzx eax, cl
dec eax
cmp eax, 0xf
ja case.default.0x4673a0
jmp dword [eax*4 + 0x467d03]
xor al, al
mov cl, 1
jmp 0x4673b5
mov al, byte [esp + 0x12]
mov cl, byte [esp + 0x1c]
test byte [esi + 2], 1
je 0x46742e
test al, al
je 0x4673d2
mov ecx, dword [esp + 0x14]
add ecx, 8
mov dword [esp + 0x14], ecx
mov eax, dword [ecx - 8]
mov esi, dword [ecx - 4]
jmp 0x4673e3
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
mov eax, dword [esi - 4]
cdq
mov esi, edx
test esi, esi
jg 0x467410
jl 0x4673ed
test eax, eax
jae 0x467410
test eax, eax
jne 0x467401
mov ecx, dword [esp + 0x7c]
cmp esi, ecx
jne 0x467401
and dword [esp + 0x38], eax
mov esi, ecx
jmp 0x46740c
neg eax
mov dword [esp + 0x38], eax
adc esi, 0
neg esi
mov cl, 0x2d
jmp 0x46745b
cmp byte [esp + 0x33], 0
mov dword [esp + 0x38], eax
je 0x46741f
mov cl, 0x2b
jmp 0x46745b
cmp byte [esp + 0x1b], 0
sete cl
dec cl
and cl, 0x20
jmp 0x46745b
test al, al
je 0x467445
mov edx, dword [esp + 0x14]
add edx, 8
mov dword [esp + 0x14], edx
mov eax, dword [edx - 8]
mov esi, dword [edx - 4]
jmp 0x467455
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
mov eax, dword [esi - 4]
xor esi, esi
mov dword [esp + 0x38], eax
xor cl, cl
mov edx, dword [esp + 0x38]
mov eax, edx
or eax, esi
mov byte [esp + 0x12], cl
jne 0x46746d
mov byte [esp + 0x1d], al
mov al, byte [esp + 0x32]
test al, al
je 0x467491
xor eax, eax
test cl, cl
mov ecx, dword [esp + 0x20]
setne al
sub ecx, eax
mov eax, dword [esp + 0x24]
cmp eax, ecx
cmovl eax, ecx
mov dword [esp + 0x24], eax
jmp 0x467495
mov eax, dword [esp + 0x24]
cmp eax, 0x3c
jge 0x4674ae
push 0x46
pop edi
lea eax, [esp + 0x80]
mov dword [esp + 0x54], edi
mov dword [esp + 0x48], eax
jmp 0x4674d2
lea edi, [eax + 0xa]
push edi
mov dword [esp + 0x58], edi
call fcn.00466a77
pop ecx
mov ecx, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x40], ecx
test ecx, ecx
je 0x467cd2
mov edx, dword [esp + 0x38]
dec edi
add edi, eax
cmp byte [esp + 0x13], 0x10
jne 0x467528
push 0
push 0xa
pop eax
push eax
push esi
push edx
call fcn.0055abc0
mov dword [esp + 0x28], ecx
mov dword [esp + 0x5c], ebx
cmp ecx, 4
jge 0x46750a
push 0
push 0xa
push edx
push eax
call fcn.0056de00
cmp eax, 1
jne 0x46750e
test edx, edx
jne 0x46750e
xor ecx, ecx
jmp 0x467512
mov ecx, dword [esp + 0x28]
mov al, byte [ecx*2 + 0x59a37d]
mov byte [edi - 1], al
sub edi, 2
mov al, byte [ecx*2 + str.thstndrd]
mov byte [edi], al
mov ecx, dword [esp + 0x44]
movzx eax, byte [ecx + 4]
add eax, 0x59cf00
mov dword [esp + 0x58], eax
movzx eax, byte [ecx + 1]
cdq
mov ecx, eax
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], ecx
push edx
push ecx
push esi
push eax
dec edi
call fcn.0055abc0
mov dword [esp + 0x38], eax
mov esi, edx
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x3c], ebx
mov al, byte [ecx + eax]
mov ecx, dword [esp + 0x28]
mov byte [edi], al
mov eax, dword [esp + 0x38]
test esi, esi
ja 0x46754c
jb 0x46757f
test eax, eax
jne 0x46754c
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x48]
sub eax, edx
mov esi, dword [esp + 0x54]
sub eax, esi
inc eax
add eax, edi
jmp 0x467599
dec edi
dec eax
mov byte [edi], 0x30
test eax, eax
jg 0x467594
mov al, byte [esp + 0x12]
test al, al
je 0x4675a8
dec edi
mov byte [edi], al
cmp byte [esp + 0x1d], 0
je 0x4675ce
mov eax, dword [esp + 0x44]
mov al, byte [eax + 5]
test al, al
je 0x4675ce
movzx eax, al
add eax, 0x59cd8c
jmp 0x4675c8
dec edi
inc eax
mov byte [edi], cl
mov cl, byte [eax]
test cl, cl
jne 0x4675c4
sub edx, edi
dec esi
add esi, edx
mov eax, dword [esp + 0x20]
cmp byte [esp + 0x1f], 0
jne 0x4675ef
mov edx, eax
sub edx, esi
test edx, edx
jle 0x4675ef
mov ecx, dword [esp + 0x34]
call fcn.004670c8
test esi, esi
jle 0x467600
mov ecx, dword [esp + 0x34]
mov edx, edi
push esi
call fcn.00467d43
pop ecx
cmp byte [esp + 0x1f], 0
je 0x46761c
mov eax, dword [esp + 0x20]
sub eax, esi
test eax, eax
jle 0x46761c
mov ecx, dword [esp + 0x34]
mov edx, eax
call fcn.004670c8
push dword [esp + 0x40]
call fcn.00466c7a
mov edx, dword [esp + 0x30]
inc edx
pop ecx
movsx eax, byte [edx]
test eax, eax
je case.default.0x4673a0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
jmp 0x46716f
mov esi, dword [esp + 0x14]
xorps xmm2, xmm2
add esi, 8
test edx, edx
mov dword [esp + 0x14], esi
cmovs edx, dword [esp + 0x6c]
mov dword [esp + 0x24], edx
movsd xmm1, qword [esi - 8]
comisd xmm2, xmm1
movsd qword [esp + 0x48], xmm1
jbe 0x467682
xorpd xmm1, xmmword [0x5abbc0]
movsd qword [esp + 0x48], xmm1
mov byte [esp + 0x12], 0x2d
jmp 0x4676a0
cmp byte [esp + 0x33], 0
je 0x467690
mov byte [esp + 0x12], 0x2b
jmp 0x4676a0
cmp byte [esp + 0x1b], 0
sete al
dec al
and al, 0x20
mov byte [esp + 0x12], al
cmp cl, 4
jne 0x4676ae
test edx, edx
jle 0x4676ae
dec edx
mov dword [esp + 0x24], edx
movsd xmm3, qword [0x5ab998]
mov eax, edx
test edx, edx
jle 0x4676c9
mulsd xmm3, qword [0x5ab988]
dec eax
test eax, eax
jg 0x4676bc
cmp cl, 2
jne 0x4676e0
movapd xmm0, xmm3
addsd xmm0, xmm1
movapd xmm1, xmm0
movsd qword [esp + 0x48], xmm1
xor ecx, ecx
movapd xmm0, xmm1
mov dword [esp + 0x38], ecx
call fcn.004688b7
test eax, eax
je 0x467700
push 3
mov edi, 0x5a5bec
pop esi
jmp 0x4675d3
comisd xmm1, xmm2
jbe 0x46784d
comisd xmm1, xmmword [0x5abab0]
mov eax, dword [esp + 0x64]
movsd xmm5, qword [0x5ab9a0]
movapd xmm2, xmm5
jb 0x46774c
mov esi, dword [esp + 0x68]
cmp ecx, eax
jg 0x467748
mulsd xmm2, qword [0x5abab0]
add ecx, esi
movapd xmm0, xmm2
mulsd xmm0, qword [0x5abab0]
comisd xmm1, xmm0
jae 0x467728
mov dword [esp + 0x38], ecx
movapd xmm0, xmm2
mulsd xmm0, qword [0x5aba98]
comisd xmm1, xmm0
jb 0x46777b
cmp ecx, eax
jg 0x467777
movapd xmm2, xmm0
add ecx, 0x40
mulsd xmm0, qword [0x5aba98]
comisd xmm1, xmm0
jae 0x46775e
mov dword [esp + 0x38], ecx
movapd xmm0, xmm2
mulsd xmm0, qword [0x5aba60]
comisd xmm1, xmm0
jb 0x4677aa
cmp ecx, eax
jg 0x4677a6
movapd xmm2, xmm0
add ecx, 8
mulsd xmm0, qword [0x5aba60]
comisd xmm1, xmm0
jae 0x46778d
mov dword [esp + 0x38], ecx
movapd xmm0, xmm2
mulsd xmm0, xmm4
comisd xmm1, xmm0
jb 0x4677cf
cmp ecx, eax
jg 0x4677cb
movapd xmm2, xmm0
inc ecx
mulsd xmm0, xmm4
comisd xmm1, xmm0
jae 0x4677b8
mov dword [esp + 0x38], ecx
divsd xmm1, xmm2
movsd xmm0, qword [0x5ab970]
comisd xmm0, xmm1
movsd qword [esp + 0x48], xmm1
jbe 0x467802
mulsd xmm1, qword [0x5aba60]
sub ecx, 8
comisd xmm0, xmm1
ja 0x4677e7
movsd qword [esp + 0x48], xmm1
mov dword [esp + 0x38], ecx
comisd xmm5, xmm1
jbe 0x46781d
mulsd xmm1, xmm4
dec ecx
comisd xmm5, xmm1
ja 0x467808
movsd qword [esp + 0x48], xmm1
mov dword [esp + 0x38], ecx
cmp ecx, eax
jle 0x46784d
mov al, byte [esp + 0x12]
cmp al, 0x2d
jne 0x467830
mov edi, str._Inf
jmp 0x46783f
cmp al, 0x2b
mov edi, str.Inf
mov ecx, 0x5a5c00
cmovne edi, ecx
mov ecx, edi
call fcn.004688e7
mov esi, eax
jmp 0x4675d3
mov al, byte [esp + 0x13]
lea esi, [esp + 0x80]
cmp al, 2
je 0x46787f
addsd xmm3, xmm1
comisd xmm3, xmm4
movsd qword [esp + 0x48], xmm3
jb 0x46787f
mulsd xmm3, qword [0x5ab988]
inc ecx
mov dword [esp + 0x38], ecx
movsd qword [esp + 0x48], xmm3
cmp al, 4
jne 0x4678aa
cmp byte [esp + 0x1d], 0
sete byte [esp + 0x1c]
cmp ecx, 0xfffffffc
jl 0x4678a3
cmp ecx, edx
jg 0x4678a3
sub edx, ecx
mov byte [esp + 0x13], 2
mov dword [esp + 0x24], edx
jmp 0x4678b8
mov byte [esp + 0x13], 3
jmp 0x4678b6
mov ah, byte [esp + 0x1e]
mov byte [esp + 0x1c], ah
cmp al, 3
jne 0x4678b8
xor ecx, ecx
lea eax, [ecx + edx]
mov dword [esp + 0x28], ecx
add eax, dword [esp + 0x20]
cmp eax, 0x37
jle 0x4678e8
add eax, 0xf
push eax
call fcn.00466a77
mov dword [esp + 0x44], eax
mov esi, eax
pop ecx
test eax, eax
je 0x467cd2
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
movzx eax, byte [esp + 0x1e]
mov edi, esi
imul eax, eax, 0xa
mov dword [esp + 0x58], edi
add eax, 0x10
test edx, edx
mov dword [esp + 0x54], eax
mov ah, byte [esp + 0x12]
setg al
or al, byte [esp + 0x1e]
or al, byte [esp + 0x1d]
mov byte [esp + 0x1b], al
test ah, ah
je 0x467919
mov byte [esi], ah
inc esi
test ecx, ecx
jns 0x467923
mov byte [esi], 0x30
inc esi
jmp 0x46794e
mov edi, dword [esp + 0x28]
lea edx, [esp + 0x54]
lea ecx, [esp + 0x48]
call fcn.00467096
mov byte [esi], al
inc esi
dec edi
jns 0x467927
mov edx, dword [esp + 0x24]
mov al, byte [esp + 0x1b]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
test al, al
je 0x467956
mov byte [esi], 0x2e
inc esi
inc ecx
jns 0x467992
neg ecx
push ecx
push 0x30
push esi
mov dword [esp + 0x34], ecx
call fcn.00538910
mov edx, dword [esp + 0x30]
add esp, 0xc
add esi, dword [esp + 0x28]
sub edx, dword [esp + 0x28]
jmp 0x467992
dec edx
lea ecx, [esp + 0x48]
mov dword [esp + 0x24], edx
lea edx, [esp + 0x54]
call fcn.00467096
mov edx, dword [esp + 0x24]
mov byte [esi], al
inc esi
test edx, edx
jg 0x467979
cmp byte [esp + 0x1c], 0
je 0x4679ca
cmp byte [esp + 0x1b], 0
je 0x4679ca
jmp 0x4679ab
mov esi, eax
mov byte [esi], 0
lea eax, [esi - 1]
cmp byte [eax], 0x30
je 0x4679a6
cmp byte [esi - 1], 0x2e
jne 0x4679ca
cmp byte [esp + 0x1e], 0
je 0x4679c6
mov byte [esi], 0x30
inc esi
jmp 0x4679ca
dec esi
mov byte [esi], 0
cmp byte [esp + 0x13], 3
jne 0x467a22
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
movzx eax, byte [eax + 4]
mov al, byte [eax + 0x59cf00]
mov byte [esi], al
test edx, edx
jns 0x4679f4
mov byte [esi + 1], 0x2d
add esi, 2
neg edx
jmp 0x4679fb
mov byte [esi + 1], 0x2b
add esi, 2
mov ecx, dword [esp + 0x68]
cmp edx, ecx
jl 0x467a0d
mov eax, edx
cdq
idiv ecx
add al, 0x30
mov byte [esi], al
inc esi
mov eax, edx
push 0xa
cdq
pop ecx
idiv ecx
add al, 0x30
add dl, 0x30
mov byte [esi], al
mov byte [esi + 1], dl
add esi, 2
mov al, byte [esp + 0x32]
mov byte [esi], 0
sub esi, edi
test al, al
je 0x4675d3
cmp byte [esp + 0x1f], 0
jne 0x4675ef
mov eax, dword [esp + 0x20]
cmp esi, eax
jge 0x4675de
mov ecx, eax
mov edx, eax
sub ecx, esi
cmp eax, ecx
jl 0x467a63
mov esi, edi
sub esi, ecx
mov al, byte [esi + edx]
mov byte [edx + edi], al
dec edx
cmp edx, ecx
jge 0x467a58
xor eax, eax
cmp byte [esp + 0x12], al
setne al
test ecx, ecx
je 0x467a7e
push ecx
add eax, edi
push 0x30
push eax
call fcn.00538910
add esp, 0xc
mov eax, dword [esp + 0x20]
mov esi, eax
jmp 0x4675d7
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
add esi, 4
mov dword [esp + 0x14], esi
mov ecx, dword [esi - 4]
mov eax, dword [eax + 0xc]
mov dword [ecx], eax
xor eax, eax
xor esi, esi
mov dword [esp + 0x20], eax
jmp 0x4675d7
xor esi, esi
mov byte [esp + 0x80], 0x25
lea edi, [esp + 0x80]
inc esi
jmp 0x4675d3
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
mov ecx, dword [esi - 4]
mov byte [esp + 0x80], cl
test edx, edx
js 0x467aff
cmp edx, 1
jle 0x467afb
lea eax, [edx - 1]
push eax
push ecx
lea eax, [esp + 0x89]
push eax
call fcn.00538910
mov edx, dword [esp + 0x30]
add esp, 0xc
mov esi, edx
jmp 0x467b02
xor esi, esi
inc esi
lea edi, [esp + 0x80]
jmp 0x4675d3
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
mov edi, dword [esi - 4]
test edi, edi
jne 0x467b27
mov edi, 0x5a0ec0
jmp 0x467b35
mov eax, dword [esp + 0x40]
cmp cl, 7
cmove eax, edi
mov dword [esp + 0x40], eax
test edx, edx
js 0x46783f
xor esi, esi
test edx, edx
jle 0x4675d3
cmp byte [esi + edi], 0
je 0x4675d3
inc esi
cmp esi, edx
jl 0x467b47
jmp 0x4675d3
push 0x27
pop eax
cmp cl, 0xf
push 0x22
pop esi
cmove eax, esi
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x44], eax
xor ecx, ecx
mov dword [esp + 0x14], esi
mov eax, dword [esi - 4]
test eax, eax
mov dword [esp + 0x38], eax
sete cl
mov dword [esp + 0x58], ecx
test ecx, ecx
je 0x467ba2
cmp byte [esp + 0x13], 0xb
mov eax, str.NULL
mov esi, str._NULL_
cmovne eax, esi
mov dword [esp + 0x38], eax
xor esi, esi
xor edi, edi
mov dword [esp + 0x28], esi
test edx, edx
je 0x467bcc
mov ecx, dword [esp + 0x38]
mov al, byte [esi + ecx]
test al, al
je 0x467bc4
cmp al, byte [esp + 0x44]
jne 0x467bc0
inc edi
inc esi
dec edx
jne 0x467bb2
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x28], esi
test ecx, ecx
jne 0x467bdc
cmp byte [esp + 0x13], 0xb
jne 0x467bdc
xor edx, edx
inc edx
jmp 0x467bde
xor edx, edx
lea eax, [edx*2 + 1]
mov dword [esp + 0x24], edx
add eax, esi
add eax, edi
cmp eax, 0x46
jle 0x467c0d
push eax
call fcn.00466a77
mov dword [esp + 0x44], eax
mov edi, eax
pop ecx
test eax, eax
je 0x467cd2
mov edx, dword [esp + 0x24]
jmp 0x467c14
lea edi, [esp + 0x80]
xor esi, esi
test edx, edx
je 0x467c21
mov eax, dword [esp + 0x44]
inc esi
mov byte [edi], al
xor eax, eax
cmp dword [esp + 0x28], eax
jle 0x467c4b
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
mov cl, byte [eax + ecx]
mov byte [esi + edi], cl
inc esi
cmp cl, byte [esp + 0x44]
jne 0x467c42
mov byte [esi + edi], cl
inc esi
inc eax
cmp eax, edx
jl 0x467c2d
mov edx, dword [esp + 0x24]
test edx, edx
je 0x467c57
mov eax, dword [esp + 0x44]
mov byte [esi + edi], al
inc esi
mov byte [esi + edi], 0
jmp 0x4675d3
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
mov edx, dword [esi - 4]
test edx, edx
je 0x467aa0
push dword [edx + 4]
mov edx, dword [edx]
mov ecx, dword [esp + 0x38]
call fcn.00467d43
pop ecx
jmp 0x467aa0
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
add esi, 8
mov dword [esp + 0x14], esi
mov dword [esp + 0x58], eax
mov esi, dword [esi - 4]
shl esi, 6
mov edx, dword [esi + eax + 8]
test edx, edx
je 0x467cca
mov ecx, dword [esp + 0x34]
push 0xffffffffffffffff
call fcn.00467d43
pop ecx
mov ecx, dword [esp + 0x34]
mov edx, 0x5a5c14
push 1
call fcn.00467d43
mov eax, dword [esp + 0x5c]
pop ecx
mov edx, dword [esi + eax + 0xc]
push 0xffffffffffffffff
jmp 0x467c7b
mov eax, dword [esp + 0x34]
mov byte [eax + 0x18], 1
jmp case.default.0x4673a0
mov ecx, dword [esp + 0x34]
mov edx, 0x5a5be8
push 1
call fcn.00467d43
pop ecx
mov ecx, dword [esp + 0xcc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0053bd6c
mov esp, ebp
pop ebp
ret