Function at 0x10045610
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x130
mov eax, dword [ebp + 0x14]
push ebx
lea ecx, [eax + 0x19e0]
push esi
push edi
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x98], ecx
cmp eax, ecx
ja 0x1004654e
fldz
mov ebx, dword [ebp + 0x14]
fld1
mov edi, dword [ebp - 4]
fld qword [0x1007576d]
jmp 0x1004565c
fld qword [0x1007576d]
fld1
fldz
fxch st(2)
cmp eax, 0x6259
ja 0x100461e7
fstp st(0)
je 0x100461da
fstp st(0)
cmp eax, 0x4ae3
ja 0x100458cc
fstp st(0)
je 0x100458af
cmp eax, 0x3e48
ja 0x1004582e
je 0x10045814
sub eax, 0x3d28
je 0x100457f5
sub eax, 0x60
je 0x100456c8
sub eax, 0x60
jne 0x10046539
call dword [0x100794dc]
test eax, eax
je 0x10046539
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret
mov ah, 0x9c
insb byte es:[edi], dx
push 0x8458b6a
mov eax, dword [eax]
test eax, eax
je 0x10045766
js 0x10045766
mov edx, dword [0x10079048]
mov eax, 0xa33
jmp 0x100456f0
mov ecx, eax
sub ecx, 0xa33
je 0x1004571a
sub ecx, 0x5e
jne 0x10045757
mov esi, dword [ebp - 0x20]
mov esi, dword [esi*4 + 0x10079048]
mov ecx, 0xd
mov edi, 0x100794cc
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 4]
jmp 0x10045757
xor ecx, ecx
mov dword [ebp - 0x20], ecx
test edx, edx
je 0x10045744
mov esi, dword [ebp + 8]
mov esi, dword [esi]
mov eax, edx
lea ebx, [ebx]
cmp dword [eax + 4], esi
je 0x10045741
mov eax, dword [ecx*4 + 0x1007904c]
inc ecx
test eax, eax
jne 0x10045730
mov dword [ebp - 0x20], ecx
cmp dword [ecx*4 + 0x10079048], 0
mov eax, 0xa33
je 0x10046558
add eax, 0x5e
cmp eax, 0xa91
jbe 0x100456f0
jmp 0x10046539
mov edx, 0x7398
jmp 0x10045770
mov eax, edx
sub eax, 0x7398
je 0x100457d6
sub eax, 0x56
je 0x100457a1
sub eax, 0x56
jne 0x100457e5
mov eax, dword [ebp - 0x8c]
mov esi, dword [eax*4 + 0x10079048]
mov ecx, 0xd
mov edi, 0x100794cc
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 4]
jmp 0x100457e5
xor ecx, ecx
or esi, 0xffffffff
mov dword [ebp - 0x20], ecx
cmp dword [0x10079048], ecx
je 0x100457e5
mov eax, dword [0x10079048]
mov eax, dword [eax + 8]
cmp eax, esi
jle 0x100457c5
mov esi, eax
mov dword [ebp - 0x8c], ecx
mov eax, dword [ecx*4 + 0x1007904c]
inc ecx
test eax, eax
jne 0x100457b6
mov dword [ebp - 0x20], ecx
jmp 0x100457e5
mov ebp, 0x3d14a9dd
mov dword [ebp - 0x8c], 0
add edx, 0x56
cmp edx, 0x7444
jbe 0x10045770
jmp 0x10046539
pushfd
or esp, dword [edx - 0x21]
push ecx
mov ecx, dword [0x1007c45c]
test ecx, ecx
je 0x10046539
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
push 0x10079720
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [0x1007c45c], 1
jmp 0x10046539
cmp eax, 0x3ea8
je 0x10046562
cmp eax, 0x4a83
jne 0x10046539
mov edx, dword [str.16_S.]
mov ecx, dword [0x10075100]
mov eax, dword [str.ep__12:1uoftemaVnntlmeAroIoiG]
mov dword [ebp - 0x120], edx
mov edx, dword [str.9pm4Fuzz:_the_iterator_reported__lu_keys_instead_of__lu_n]
mov dword [ebp - 0x118], ecx
push 0x1007d900
lea ecx, [ebp - 0x10f]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x11c], eax
mov al, byte [0x10076f59]
push ecx
lea edx, [ebp - 0x120]
push edx
mov byte [ebp - 0x110], al
call fcn.1006cfb0
mov eax, dword [ebp + 8]
mov edi, 0x67452301
add esp, 0xc
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x80], edi
mov dword [ebp - 4], edi
jmp 0x10046539
jp 0x100458f4
xchg edx, eax
insb byte es:[edi], dx
idiv dword [eax - 0x67452302]
mov ebx, 0xefcdab89
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x7c], eax
mov dword [ebp + 0x14], eax
jmp 0x10046539
cmp eax, 0x4c63
ja 0x1004611b
fstp st(0)
je 0x100460fe
sub eax, 0x4b43
je 0x10045978
sub eax, 0x60
je 0x10045924
sub eax, 0x60
jne 0x10046539
inc ecx
or al, 0
add byte [ebx + 0x558d844d], cl
invalid
mov ecx, dword [ebp - 0x7c]
lea edx, [ebp - 0x10]
push edx
push eax
push eax
lea eax, [ebp - 0x104]
mov dword [ebp - 0x104], ecx
push eax
push 0
push 0x4484
push 0
call fcn.10059110
add esp, 0x1c
jmp 0x10046539
mov ecx, dword [ebp - 0x80]
lea edx, [ebp - 0x18]
push edx
push 0
push 0
lea eax, [ebp - 0xa0]
push eax
push 0
push 0x4484
push 0
mov dword [ebp - 0xa0], ecx
call fcn.10059110
mov ecx, dword [ebp - 0x70]
lea edx, [ebp - 0x14]
push edx
push 0
push 0
lea eax, [ebp - 0x100]
push eax
push 0
push 0x4484
push 0
mov dword [ebp - 0x100], ecx
call fcn.10059110
add esp, 0x38
jmp 0x10046539
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
mov esi, 0x10325476
mov dword [ebp - 0x78], esi
jbe 0x10046539
mov eax, dword [ebp + 0x14]
nop
mov edx, 0x4a80
mov dword [ebp - 4], edx
jmp 0x100459a0
cmp edx, 0x4f60
ja 0x10045e15
je 0x10045ddb
cmp edx, 0x4cc0
ja 0x10045c57
je 0x10045c2d
cmp edx, 0x4ba0
ja 0x10045be7
je 0x10045bb8
mov ecx, edx
sub ecx, 0x4a80
je 0x10045a4f
sub ecx, 0x60
je 0x10045a28
sub ecx, 0x60
jne 0x100460d8
mov ecx, ebx
xor ecx, edi
and ecx, esi
xor ecx, ebx
add ecx, dword [ebp - 0x64]
add eax, ecx
rol eax, 0xb
mov ecx, esi
xor ecx, edi
and ecx, eax
xor ecx, edi
add ebx, ecx
add ebx, dword [ebp - 0x60]
mov ecx, eax
xor ecx, esi
ror ebx, 0xd
and ecx, ebx
xor ecx, esi
add ecx, dword [ebp - 0x5c]
mov dword [ebp + 0x14], eax
add ecx, edi
rol ecx, 3
mov edi, ecx
jmp 0x100460d8
mov ecx, eax
xor ecx, esi
and ecx, ebx
xor ecx, esi
add ecx, dword [ebp - 0x6c]
add edi, ecx
mov ecx, eax
xor ecx, ebx
rol edi, 3
and ecx, edi
xor ecx, eax
add ecx, dword [ebp - 0x68]
add ecx, esi
rol ecx, 7
mov esi, ecx
jmp 0x100460d8
lea edx, [ebp - 0xf4]
mov dword [ebp - 0x84], edx
mov edx, dword [ebp + 0xc]
cmp dword [edx], 0x40
jb 0x10045ac8
mov ecx, 0x47cb
mov dword [ebp - 8], ecx
jmp 0x10045a70
mov eax, ecx
sub eax, 0x47cb
je 0x10045a83
sub eax, 0x2a
jne 0x10045ab5
add dword [edx], 0xffffffc0
jmp 0x10045ab5
mov edx, dword [ebp - 0x2c]
push 0
push 0x22
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0xf4]
push ecx
push edx
mov dword [ebp - 0x108], 0x40
call fcn.1006af70
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0xc]
add esp, 0x14
add dword [ebp - 0x2c], 0x40
add ecx, 0x2a
mov dword [ebp - 8], ecx
cmp ecx, 0x47f5
jbe 0x10045a70
jmp 0x10045b6b
mov ecx, 0x1a31
mov dword [ebp - 8], ecx
mov eax, ecx
sub eax, 0x1a31
je 0x10045ae7
sub eax, 0x28
jne 0x10045b59
push eax
or byte [esi + edx*2], 0xb5
mov dword [edx], eax
jmp 0x10045b59
js 0x10045b58
invalid
pushal
stc
add dword [eax], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0xc]
add esp, 0x28
sub byte [ebx + 0x4d8928c1], al
clc
add ecx, 0x28
mov dword [ebp - 8], ecx
cmp ecx, 0x1a59
jbe 0x10045ad0
lea eax, [ebp - 0x6c]
mov dword [ebp - 8], eax
mov dword [ebp - 0x1c], 0x10
jmp 0x10045b80
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x84]
push ecx
push edx
push 0
push 0x3384
call fcn.10069ec0
mov eax, 4
add dword [ebp - 0x84], eax
add dword [ebp - 8], eax
add esp, 0x10
dec dword [ebp - 0x1c]
jne 0x10045b80
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp - 4]
jmp 0x100460d8
mov cl, 0xf
cmpsd dword [esi], dword es:[edi]
jbe 0x10045b4c
mov ecx, eax
xor ecx, ebx
and ecx, edi
xor ecx, eax
add ecx, dword [ebp - 0x58]
add esi, ecx
mov ecx, ebx
xor ecx, edi
rol esi, 7
and ecx, esi
xor ecx, ebx
add ecx, dword [ebp - 0x54]
add ecx, eax
rol ecx, 0xb
mov eax, ecx
mov dword [ebp + 0x14], eax
jmp 0x100460d8
mov ecx, edx
sub ecx, 0x4c00
je 0x10045c16
sub ecx, 0x60
jne 0x100460d8
xchg ecx, eax
sub byte [esi - 0x3774497e], 0x33
into
and ecx, ebx
xor ecx, esi
add ecx, dword [ebp - 0x4c]
add ecx, edi
rol ecx, 3
mov edi, ecx
jmp 0x100460d8
mov ecx, esi
xor ecx, edi
and ecx, eax
xor ecx, edi
add ecx, dword [ebp - 0x50]
add ecx, ebx
ror ecx, 0xd
mov ebx, ecx
jmp 0x100460d8
mov ecx, eax
xor ecx, ebx
and ecx, edi
xor ecx, eax
add ecx, dword [ebp - 0x48]
add esi, ecx
mov ecx, ebx
xor ecx, edi
rol esi, 7
and ecx, esi
xor ecx, ebx
add ecx, dword [ebp - 0x44]
add ecx, eax
rol ecx, 0xb
mov eax, ecx
mov dword [ebp + 0x14], eax
jmp 0x100460d8
cmp edx, 0x4e40
ja 0x10045d32
je 0x10045d0c
mov ecx, edx
sub ecx, 0x4d20
je 0x10045cf5
sub ecx, 0x60
je 0x10045cb6
sub ecx, 0x60
jne 0x100460d8
mov edx, esi
xor edx, edi
and edx, eax
xor edx, edi
add edx, dword [ebp - 0x30]
add ebx, edx
ror ebx, 0xd
mov ecx, ebx
or ecx, esi
and ecx, eax
mov edx, ebx
and edx, esi
or ecx, edx
add ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 4]
lea edi, [ecx + edi + 0x5a827999]
rol edi, 3
jmp 0x100460d8
in eax, dx
mov al, 0x99
push esi
mov ecx, eax
xor ecx, esi
and ecx, ebx
xor ecx, esi
add ecx, dword [ebp - 0x3c]
add edi, ecx
rol edi, 3
mov ecx, eax
xor ecx, ebx
and ecx, edi
xor ecx, eax
add ecx, dword [ebp - 0x38]
add esi, ecx
mov ecx, ebx
xor ecx, edi
rol esi, 7
and ecx, esi
xor ecx, ebx
add ecx, dword [ebp - 0x34]
add ecx, eax
rol ecx, 0xb
mov eax, ecx
mov dword [ebp + 0x14], eax
jmp 0x100460d8
mov ecx, esi
xor ecx, edi
and ecx, eax
xor ecx, edi
add ecx, dword [ebp - 0x40]
add ecx, ebx
ror ecx, 0xd
mov ebx, ecx
jmp 0x100460d8
js 0x10045cd1
mov esi, 0xd38b65c4
or edx, edi
and edx, eax
mov ecx, ebx
and ecx, edi
or edx, ecx
add edx, dword [ebp - 0x5c]
lea esi, [edx + esi + 0x5a827999]
mov edx, dword [ebp - 4]
rol esi, 5
jmp 0x100460d8
add eax, 0x3a6e9
add byte [ebx - 0x5f167e36], cl
dec esi
add byte [eax], al
mov ecx, edx
sub ecx, 0x4ea0
je 0x10045d9b
sub ecx, 0x60
jne 0x100460d8
mov edx, ebx
or edx, esi
and edx, eax
mov ecx, ebx
and ecx, esi
or edx, ecx
add edx, dword [ebp - 0x68]
mov ecx, ebx
lea edi, [edx + edi + 0x5a827999]
rol edi, 3
mov edx, ebx
or edx, edi
and edx, eax
and ecx, edi
or edx, ecx
add edx, dword [ebp - 0x58]
lea esi, [edx + esi + 0x5a827999]
rol esi, 5
mov edx, esi
or edx, edi
and edx, ebx
mov ecx, esi
and ecx, edi
or edx, ecx
add edx, dword [ebp - 0x48]
lea eax, [edx + eax + 0x5a827999]
mov edx, dword [ebp - 4]
rol eax, 9
mov dword [ebp + 0x14], eax
jmp 0x100460d8
adc al, 0x61
movsd dword es:[edi], dword [esi]
inc edi
js 0x10045d2c
into
or ecx, edi
mov dword [ebp - 8], ecx
and ecx, ebx
mov edx, esi
and edx, edi
or ecx, edx
add ecx, dword [ebp - 0x4c]
lea eax, [ecx + eax + 0x5a827999]
mov ecx, dword [ebp - 8]
rol eax, 9
and ecx, eax
or ecx, edx
add ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 4]
lea ebx, [ecx + ebx + 0x5a827999]
mov dword [ebp + 0x14], eax
rol ebx, 0xd
jmp 0x100460d8
mov edx, esi
or edx, edi
and edx, eax
mov ecx, esi
and ecx, edi
or edx, ecx
add edx, dword [ebp - 0x38]
lea ebx, [edx + ebx + 0x5a827999]
rol ebx, 0xd
mov edx, ebx
or edx, esi
and edx, eax
mov ecx, ebx
and ecx, esi
or edx, ecx
add edx, dword [ebp - 0x64]
lea edi, [edx + edi + 0x5a827999]
mov edx, dword [ebp - 4]
rol edi, 3
jmp 0x100460d8
cmp edx, 0x5200
ja 0x1004603a
je 0x10045ff9
cmp edx, 0x50e0
ja 0x10045f79
je 0x10045f33
mov ecx, edx
sub ecx, 0x4fc0
je 0x10045edf
sub ecx, 0x60
je 0x10045e89
sub ecx, 0x60
jne 0x100460d8
mov edx, esi
or edx, edi
and edx, eax
mov ecx, esi
and ecx, edi
or edx, ecx
add edx, dword [ebp - 0x30]
lea ebx, [edx + ebx + 0x5a827999]
rol ebx, 0xd
mov edx, eax
xor edx, ebx
xor edx, esi
add edx, dword [ebp - 0x6c]
lea edi, [edx + edi + 0x6ed9eba1]
mov edx, dword [ebp - 4]
rol edi, 3
jmp 0x100460d8
mov ecx, ebx
or ecx, esi
and ecx, eax
mov edx, ebx
and edx, esi
or ecx, edx
add ecx, dword [ebp - 0x60]
mov edx, ebx
lea edi, [ecx + edi + 0x5a827999]
rol edi, 3
and edx, edi
mov ecx, ebx
or ecx, edi
and ecx, eax
or ecx, edx
add ecx, dword [ebp - 0x50]
lea esi, [ecx + esi + 0x5a827999]
rol esi, 5
mov ecx, esi
or ecx, edi
and ecx, ebx
mov edx, esi
and edx, edi
or ecx, edx
add ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 4]
lea eax, [ecx + eax + 0x5a827999]
rol eax, 9
mov dword [ebp + 0x14], eax
jmp 0x100460d8
mov ecx, ebx
or ecx, edi
and ecx, eax
mov edx, ebx
and edx, edi
or ecx, edx
add ecx, dword [ebp - 0x54]
lea esi, [ecx + esi + 0x5a827999]
rol esi, 5
mov ecx, esi
or ecx, edi
mov dword [ebp - 8], ecx
and ecx, ebx
mov edx, esi
and edx, edi
or ecx, edx
add ecx, dword [ebp - 0x44]
lea eax, [ecx + eax + 0x5a827999]
mov ecx, dword [ebp - 8]
rol eax, 9
and ecx, eax
or ecx, edx
add ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 4]
lea ebx, [ecx + ebx + 0x5a827999]
mov dword [ebp + 0x14], eax
rol ebx, 0xd
jmp 0x100460d8
mov dword [edi], ecx
cmp bl, byte [ebp - 0x51]
mov ecx, eax
xor ecx, ebx
xor ecx, edi
add ecx, dword [ebp - 0x4c]
lea esi, [ecx + esi + 0x6ed9eba1]
rol esi, 9
mov ecx, ebx
xor ecx, esi
xor ecx, edi
add ecx, dword [ebp - 0x5c]
lea eax, [ecx + eax + 0x6ed9eba1]
rol eax, 0xb
mov ecx, eax
xor ecx, esi
xor ecx, edi
add ecx, dword [ebp - 0x3c]
mov dword [ebp + 0x14], eax
lea ebx, [ecx + ebx + 0x6ed9eba1]
rol ebx, 0xf
jmp 0x100460d8
mov ecx, edx
sub ecx, 0x5140
je 0x10045fb7
sub ecx, 0x60
jne 0x100460d8
mov ecx, eax
xor ecx, esi
xor ecx, edi
add ecx, dword [ebp - 0x34]
lea ebx, [ecx + ebx + 0x6ed9eba1]
rol ebx, 0xf
mov ecx, eax
xor ecx, ebx
xor ecx, esi
add ecx, dword [ebp - 0x68]
lea edi, [ecx + edi + 0x6ed9eba1]
rol edi, 3
jmp 0x100460d8
mov ecx, eax
xor ecx, ebx
mov edx, ecx
xor edx, esi
add edx, dword [ebp - 0x64]
lea edi, [edx + edi + 0x6ed9eba1]
mov edx, dword [ebp - 4]
rol edi, 3
xor ecx, edi
add ecx, dword [ebp - 0x44]
lea esi, [ecx + esi + 0x6ed9eba1]
rol esi, 9
mov ecx, ebx
xor ecx, esi
xor ecx, edi
add ecx, dword [ebp - 0x54]
lea eax, [ecx + eax + 0x6ed9eba1]
rol eax, 0xb
mov dword [ebp + 0x14], eax
jmp 0x100460d8
mov ecx, eax
xor ecx, ebx
xor ecx, edi
add ecx, dword [ebp - 0x48]
lea esi, [ecx + esi + 0x6ed9eba1]
rol esi, 9
mov ecx, ebx
xor ecx, esi
xor ecx, edi
add ecx, dword [ebp - 0x58]
lea eax, [ecx + eax + 0x6ed9eba1]
rol eax, 0xb
mov ecx, eax
xor ecx, esi
xor ecx, edi
add ecx, dword [ebp - 0x38]
mov dword [ebp + 0x14], eax
lea ebx, [ecx + ebx + 0x6ed9eba1]
rol ebx, 0xf
jmp 0x100460d8
cmp edx, 0x5320
ja 0x100460b2
je 0x100460aa
mov ecx, edx
sub ecx, 0x5260
je 0x10046095
sub ecx, 0x60
jne 0x100460d8
mov ecx, eax
xor ecx, ebx
xor ecx, edi
add ecx, dword [ebp - 0x40]
lea esi, [ecx + esi + 0x6ed9eba1]
rol esi, 9
mov ecx, ebx
xor ecx, esi
xor ecx, edi
add ecx, dword [ebp - 0x50]
lea eax, [ecx + eax + 0x6ed9eba1]
rol eax, 0xb
mov ecx, eax
xor ecx, esi
xor ecx, edi
add ecx, dword [ebp - 0x30]
mov dword [ebp + 0x14], eax
lea ebx, [ecx + ebx + 0x6ed9eba1]
rol ebx, 0xf
jmp 0x100460d8
mov ecx, eax
xor ecx, ebx
xor ecx, esi
add ecx, dword [ebp - 0x60]
lea edi, [ecx + edi + 0x6ed9eba1]
rol edi, 3
jmp 0x100460d8
add edi, dword [ebp - 0x80]
mov dword [ebp - 0x80], edi
jmp 0x100460d8
mov ecx, edx
sub ecx, 0x5380
je 0x100460d2
sub ecx, 0x60
jne 0x100460d8
add eax, dword [ebp - 0x7c]
add esi, dword [ebp - 0x78]
mov dword [ebp + 0x14], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], esi
jmp 0x100460d8
add ebx, dword [ebp - 0x70]
mov dword [ebp - 0x70], ebx
add edx, 0x60
mov dword [ebp - 4], edx
cmp edx, 0x53e0
jbe 0x100459a0
mov edx, dword [ebp + 0xc]
cmp dword [edx], 0
ja 0x10045990
mov dword [ebp - 4], edi
jmp 0x10046539
mov eax, dword [ebp - 0x78]
lea ecx, [ebp - 0xc]
push ecx
push 0
push 0
lea edx, [ebp - 0xa4]
mov dword [ebp - 0xa4], eax
push edx
jmp 0x1004590e
cmp eax, 0x4cc3
je 0x10046135
cmp eax, 0x61f9
jne 0x10046537
fstp qword [ebp - 0x28]
jmp 0x10046539
mov eax, dword [ebp + 0x10]
fstp st(0)
xor ecx, ecx
lea esp, [esp]
movzx esi, byte [ebp + ecx - 0x18]
mov edx, esi
shr edx, 4
movzx edx, byte [edx + 0x1007d900]
mov byte [eax], dl
and esi, 0xf
movzx edx, byte [esi + 0x1007d900]
movzx esi, byte [ebp + ecx - 0x17]
mov byte [eax + 1], dl
mov edx, esi
shr edx, 4
movzx edx, byte [edx + 0x1007d900]
mov byte [eax + 2], dl
and esi, 0xf
movzx edx, byte [esi + 0x1007d900]
movzx esi, byte [ebp + ecx - 0x16]
mov byte [eax + 3], dl
mov edx, esi
shr edx, 4
movzx edx, byte [edx + 0x1007d900]
mov byte [eax + 4], dl
and esi, 0xf
movzx edx, byte [esi + 0x1007d900]
movzx esi, byte [ebp + ecx - 0x15]
mov byte [eax + 5], dl
mov edx, esi
shr edx, 4
movzx edx, byte [edx + 0x1007d900]
mov byte [eax + 6], dl
and esi, 0xf
movzx edx, byte [esi + 0x1007d900]
mov byte [eax + 7], dl
add ecx, 4
add eax, 8
cmp ecx, 0x10
jl 0x10046140
mov dword [ebp + 0x10], eax
jmp 0x10046539
fstp st(1)
fstp qword [ebp - 0x128]
jmp 0x10046539
cmp eax, 0x64f9
ja 0x100463af
je 0x1004639b
cmp eax, 0x63d9
ja 0x100462ac
fstp st(1)
je 0x10046263
sub eax, 0x62b9
fstp st(0)
je 0x1004624e
sub eax, 0x60
fstp st(0)
je 0x10046539
sub eax, 0x60
jne 0x10046539
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0x2d
jne 0x1004623c
fld qword [0x10077900]
inc eax
fstp qword [ebp - 0x128]
mov dword [ebp + 0xc], eax
cmp byte [eax], 0x30
jne 0x10046539
inc eax
mov dword [ebp + 0xc], eax
jmp 0x10046539
fstp qword [ebp - 0xac]
mov dword [ebp - 0x88], 0
jmp 0x10046539
mov eax, dword [ebp + 0xc]
fstp st(1)
mov cl, byte [eax]
cmp cl, 0x31
jl 0x10046537
cmp cl, 0x39
jg 0x10046537
fld qword [ebp - 0x28]
movsx ecx, byte [eax]
sub ecx, 0x30
mov dword [ebp - 0x1c], ecx
mov cl, byte [eax + 1]
inc eax
fild dword [ebp - 0x1c]
fxch st(1)
fmul st(2)
faddp st(1)
cmp cl, 0x30
jl 0x1004629f
cmp cl, 0x39
jle 0x1004627f
fstp st(1)
mov dword [ebp + 0xc], eax
fstp qword [ebp - 0x28]
jmp 0x10046539
sub eax, 0x6439
fstp st(2)
je 0x100462d3
sub eax, 0x60
fstp st(1)
fstp st(0)
jne 0x10046539
fld qword [ebp - 0x128]
fmul qword [ebp - 0x28]
fstp qword [ebp - 0x28]
jmp 0x10046539
mov ecx, dword [ebp + 0xc]
cmp byte [ecx], 0x2e
jne 0x10046327
mov al, byte [ecx + 1]
cmp al, 0x30
jl 0x10046327
cmp al, 0x39
jg 0x10046327
fld qword [ebp - 0x28]
mov al, byte [ecx + 1]
fld qword [ebp - 0xac]
inc ecx
movsx edx, al
mov al, byte [ecx + 1]
sub edx, 0x30
mov dword [ebp - 0x1c], edx
inc ecx
fild dword [ebp - 0x1c]
fxch st(2)
fmul st(4)
faddp st(2)
fsub st(2)
cmp al, 0x30
jl 0x10046313
cmp al, 0x39
jle 0x100462f3
fstp st(3)
mov dword [ebp + 0xc], ecx
fstp st(1)
fxch st(1)
fstp qword [ebp - 0xac]
fstp qword [ebp - 0x28]
jmp 0x1004632b
fstp st(1)
fstp st(0)
mov al, byte [ecx]
cmp al, 0x65
je 0x10046339
cmp al, 0x45
jne 0x10046539
mov esi, dword [ebp - 0x88]
mov edx, 0x179f
mov eax, edx
sub eax, 0x179f
je 0x10046381
sub eax, 0xf
je 0x10046377
sub eax, 0xf
jne 0x10046382
mov al, byte [ecx]
cmp al, 0x30
jl 0x10046382
lea ecx, [ecx]
cmp al, 0x39
jg 0x10046382
movsx eax, al
lea esi, [esi + esi*4]
inc ecx
lea esi, [eax + esi*2 - 0x30]
mov al, byte [ecx]
cmp al, 0x30
jge 0x10046360
jmp 0x10046382
mov al, byte [ecx]
cmp al, 0x2b
je 0x10046381
cmp al, 0x2d
jne 0x10046382
inc ecx
add edx, 0xf
cmp edx, 0x17bd
jbe 0x10046344
mov dword [ebp + 0xc], ecx
mov dword [ebp - 0x88], esi
jmp 0x10046539
mov ecx, dword [ebp + 8]
fstp st(2)
fstp st(1)
fstp st(0)
fld qword [ebp - 0x28]
fstp qword [ecx + 0x18]
jmp 0x10046539
fstp st(2)
fstp st(1)
fstp st(0)
cmp eax, 0x753b
ja 0x10046499
je 0x10046403
sub eax, 0x6559
je 0x100463e9
sub eax, 0x60
jne 0x10046539
mov eax, 0x4986
cmp eax, eax
je 0x10046570
add eax, 0x31
cmp eax, 0x4986
jbe 0x100463d9
fld qword [ebp - 0x28]
mov eax, dword [ebp + 8]
fistp qword [ebp - 0x130]
mov edx, dword [ebp - 0x130]
mov dword [eax + 0x14], edx
jmp 0x10046539
and ah, ah
cmp eax, 0x4d8bc2d7
or byte [ebx + 0x75002c79], al
pop ss
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov dword [ecx + 0x2c], edx
mov eax, dword [eax]
cdq
sub eax, edx
sar eax, 1
mov dword [ecx + 0x28], eax
jmp 0x10046539
sub eax, 0x759b
je 0x100464bc
sub eax, 0x60
jne 0x10046539
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 8]
mov dword [eax + 0x84], edx
jmp 0x10046539
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x28]
push 0x5e51
push 0
lea edx, [ebp - 0x10c]
push edx
lea eax, [ebp - 0xb0]
add ecx, ecx
push eax
add ecx, ecx
push 0
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0x10c], 1
call fcn.10044b00
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x34]
add ecx, eax
lea eax, [ebp - 0xb4]
push eax
mov dword [ebp - 0xb4], ecx
lea ecx, [ebp - 0xf8]
push ecx
mov dword [ebp - 0x94], edx
lea edx, [ebp - 0x94]
push 0x38f4
push edx
mov dword [ebp - 0xf8], 0xea60
call fcn.10044d30
add esp, 0x24
mov dword [esi + 0x30], eax
jmp 0x10046539
fstp st(0)
mov eax, dword [ebp - 0x74]
add eax, 0x60
mov dword [ebp - 0x74], eax
cmp eax, dword [ebp - 0x98]
jbe 0x10045650
mov eax, dword [ebp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
cld
cwde
daa
in eax, dx
and eax, 0xc0335e5f
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [eax + 0xc], 3
mov eax, dword [ebp + 0xc]
pop ebx
mov esp, ebp
pop ebp
ret