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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
sub esp, 0xcc
and esp, 0xfffffff8
xor eax, eax
lea edi, [esp + 0x44]
mov dword [esp + 0x28], 0
mov dword [esp + 0x74], 0
mov dword [esp], 0
mov ecx, 9
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 8], 0
push 1
mov esi, 1
call fcn.004a1d60
mov eax, dword [eax + 0x17c]
pop ecx
mov edx, dword [eax]
movzx eax, byte [edx]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x30], 0
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
jmp 0x49d7c0
mov ecx, esi
sub ecx, 1
je 0x49cd50
sub ecx, 1
je 0x49d0e0
sub ecx, 2
je 0x49d1a0
sub ecx, 4
je 0x49d1b3
sub ecx, 8
je 0x49d230
sub ecx, 0x10
je 0x49d270
sub ecx, 0x20
je 0x49d2d7
sub ecx, 0x40
je 0x49d311
sub ecx, 0x80
je 0x49d360
sub ecx, 0x100
je 0x49d3b0
sub ecx, 0x200
je 0x49d3c3
sub ecx, 0x1c00
je 0x49cf10
sub ecx, 0x2000
je 0x49ce50
sub ecx, 0x4000
je 0x49d430
jmp 0x49d7d4
cmp ebx, 0x100
mov dword [esp + 0x18], ebx
jb 0x49cd60
xor edi, edi
jmp 0x49cd7b
push 1
call fcn.004a1d60
mov eax, dword [eax + 0x1bc]
mov edi, dword [eax + 8]
movzx edi, word [edi + ebx*2]
pop ecx
and edi, 0x100
test edi, edi
je 0x49cd97
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
add dword [esp], 1
mov ebx, eax
jmp 0x49d7d4
cmp dword [esp + 0x18], 0x100
jb 0x49cda5
mov edx, ebx
jmp 0x49cdba
push 1
call fcn.004a1d60
mov edx, dword [eax + 0x1bc]
pop ecx
mov ecx, dword [edx + 0xc]
movzx edx, byte [ecx + ebx]
mov eax, edx
sub eax, 0x2b
je 0x49cdda
sub eax, 2
je 0x49cdd2
sub eax, 0x1c
je 0x49ce00
sub eax, 5
je 0x49ce20
jmp 0x49ce40
mov dword [esp + 0x7c], 1
add dword [esp + 0x74], 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
mov dword [esp + 8], 1
jmp 0x49d7d4
add dword [esp + 0x74], 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
mov esi, 0x4000
jmp 0x49d7d4
add dword [esp + 0x74], 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
mov esi, 0x2000
jmp 0x49d7d4
mov esi, 2
jmp 0x49d7d4
mov edx, dword [str.INFINITY]
mov dword [esp + 0xa4], edx
mov edx, dword [0x4d0024]
mov dword [esp + 0xa8], edx
mov dl, byte [0x4d0028]
mov edi, 1
mov byte [esp + 0xac], dl
jmp 0x49ce97
add dword [esp + 0x74], 1
add edi, 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
cmp edi, 8
jge 0x49cec9
cmp ebx, 0x100
jb 0x49cea8
mov eax, ebx
jmp 0x49cebd
push 1
call fcn.004a1d60
pop ecx
mov ecx, dword [eax + 0x1bc]
mov eax, dword [ecx + 0xc]
movzx eax, byte [eax + ebx]
movsx edx, byte [esp + edi + 0xa4]
cmp edx, eax
je 0x49ce80
cmp edi, 3
fldz
je 0x49ced5
cmp edi, 8
jne 0x49cf04
cmp dword [esp + 0x7c], 0
je 0x49cee6
fld dword [0x4d0a5c]
fchs
jmp 0x49ceec
fld dword [0x4d0a5c]
mov ebx, dword [esp]
add ebx, edi
add ebx, dword [esp + 8]
mov eax, dword [ebp + 0x14]
mov dword [eax], ebx
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
fstp st(1)
ret
mov esi, 0x1000
fstp st(0)
jmp 0x49d7d4
mov ecx, dword [str.NAN_]
mov dword [esp + 0xc0], ecx
mov cl, byte [0x4d002d]
mov byte [esp + 0xc4], cl
xor eax, eax
mov dword [esp + 0x18], 0
lea edi, [esp + 0x84]
mov ecx, 8
mov esi, 1
rep stosd dword es:[edi], eax
jmp 0x49cf67
add dword [esp + 0x74], 1
add esi, 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
cmp esi, 4
jge 0x49cf99
cmp ebx, 0x100
jb 0x49cf78
mov eax, ebx
jmp 0x49cf8d
push 1
call fcn.004a1d60
mov eax, dword [eax + 0x1bc]
mov edx, dword [eax + 0xc]
pop ecx
movzx eax, byte [edx + ebx]
movsx ecx, byte [esp + esi + 0xc0]
cmp ecx, eax
je 0x49cf50
cmp esi, 3
je 0x49cfa7
cmp esi, 4
jne 0x49d0d6
cmp esi, 4
jne 0x49d04c
jmp 0x49cfd6
mov eax, dword [esp + 0x18]
mov byte [esp + eax + 0x84], bl
add dword [esp + 0x18], 1
add dword [esp + 0x74], 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
cmp dword [esp + 0x18], 0x20
jge 0x49d038
mov edi, ebx
cmp edi, 0x100
jb 0x49cff0
xor edx, edx
jmp 0x49d008
push 1
call fcn.004a1d60
mov eax, dword [eax + 0x1bc]
mov edx, dword [eax + 8]
movzx edx, word [edx + ebx*2]
pop ecx
and edx, 8
test edx, edx
jne 0x49cfb2
cmp edi, 0x100
jb 0x49d018
xor ecx, ecx
jmp 0x49d030
push 1
call fcn.004a1d60
pop ecx
mov ecx, dword [eax + 0x1bc]
mov eax, dword [ecx + 8]
movzx ecx, word [eax + ebx*2]
and ecx, 1
test ecx, ecx
jne 0x49cfb2
cmp ebx, 0x29
je 0x49d047
mov esi, 0x1000
jmp 0x49d7d4
add dword [esp + 0x18], 1
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x7c], 0
mov byte [esp + eax + 0x84], 0
fldz
je 0x49d090
lea edi, [esp + 0x84]
mov ecx, edi
mov eax, dword [ecx]
test al, 0xff
jne 0x49d072
xor eax, eax
mov dword [esp + 0xb4], 0x7ff80000
mov dword [esp + 0xb0], eax
fld qword [esp + 0xb0]
fchs
jmp 0x49d0ba
lea edx, [esp + 0x84]
mov ecx, edx
mov eax, dword [ecx]
test al, 0xff
jne 0x49d0a1
xor eax, eax
mov dword [esp + 0xbc], 0x7ff80000
mov dword [esp + 0xb8], eax
fld qword [esp + 0xb8]
mov ebx, dword [esp]
add ebx, esi
add ebx, dword [esp + 0x18]
add ebx, dword [esp + 8]
mov eax, dword [ebp + 0x14]
mov dword [eax], ebx
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
fstp st(1)
ret
mov esi, 0x1000
jmp 0x49d7d4
cmp ebx, dword [esp + 0x6c]
jne 0x49d0f0
mov esi, 0x10
jmp 0x49d7c0
cmp ebx, 0x100
jb 0x49d100
xor ecx, ecx
jmp 0x49d118
push 1
call fcn.004a1d60
mov edx, dword [eax + 0x1bc]
pop ecx
mov ecx, dword [edx + 8]
movzx ecx, word [ecx + ebx*2]
and ecx, 8
test ecx, ecx
jne 0x49d126
mov esi, 0x1000
jmp 0x49d7d4
cmp ebx, 0x30
jne 0x49d190
add dword [esp + 0x74], 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
cmp eax, 0x100
mov dword [esp + 0x1c], eax
mov ebx, eax
jae 0x49d167
push 1
call fcn.004a1d60
mov eax, dword [eax + 0x1bc]
pop ecx
mov esi, dword [eax + 0xc]
mov ecx, dword [esp + 0x1c]
movzx eax, byte [esi + ecx]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 0x58
jne 0x49d180
mov esi, 0x8000
mov dword [esp + 0x28], 1
jmp 0x49d7d4
mov esi, 4
jmp 0x49d7d4
mov esi, 8
jmp 0x49d7d4
cmp ebx, 0x30
je 0x49d7c0
mov esi, 8
jmp 0x49d7d4
cmp ebx, 0x100
jb 0x49d1c0
xor edx, edx
jmp 0x49d1d8
push 1
call fcn.004a1d60
mov edi, dword [eax + 0x1bc]
mov edx, dword [edi + 8]
movzx edx, word [edx + ebx*2]
pop ecx
and edx, 8
test edx, edx
jne 0x49d200
cmp ebx, dword [esp + 0x6c]
jne 0x49d1f0
mov esi, 0x20
jmp 0x49d7c0
mov esi, 0x40
jmp 0x49d7d4
cmp byte [esp + 0x48], 0x14
jae 0x49d220
movzx ecx, byte [esp + 0x48]
add byte [esp + 0x48], 1
movzx ecx, cl
mov byte [esp + ecx + 0x49], bl
jmp 0x49d7c0
add dword [esp + 0x3c], 1
jmp 0x49d7c0
cmp ebx, 0x100
jb 0x49d240
xor esi, esi
jmp 0x49d258
push 1
call fcn.004a1d60
mov eax, dword [eax + 0x1bc]
mov esi, dword [eax + 8]
movzx esi, word [esi + ebx*2]
pop ecx
and esi, 8
test esi, esi
jne 0x49d266
mov esi, 0x1000
jmp 0x49d7d4
mov esi, 0x20
jmp 0x49d7d4
cmp ebx, 0x100
jb 0x49d280
xor edi, edi
jmp 0x49d298
push 1
call fcn.004a1d60
mov edi, dword [eax + 0x1bc]
mov edx, dword [edi + 8]
movzx edi, word [edx + ebx*2]
pop ecx
and edi, 8
test edi, edi
jne 0x49d2a6
mov esi, 0x40
jmp 0x49d7d4
movzx eax, byte [esp + 0x48]
cmp al, 0x14
jae 0x49d7c0
cmp ebx, 0x30
jne 0x49d2bc
test al, al
je 0x49d2cd
movzx ecx, byte [esp + 0x48]
add byte [esp + 0x48], 1
movzx ecx, cl
mov byte [esp + ecx + 0x49], bl
sub dword [esp + 0x3c], 1
jmp 0x49d7c0
cmp ebx, 0x100
jb 0x49d2e3
mov edx, ebx
jmp 0x49d2f8
push 1
call fcn.004a1d60
mov eax, dword [eax + 0x1bc]
mov edi, dword [eax + 0xc]
pop ecx
movzx edx, byte [edi + ebx]
cmp edx, 0x45
jne 0x49d307
mov esi, pe_nt_image_headers32
jmp 0x49d7c0
mov esi, 0x800
jmp 0x49d7d4
cmp ebx, 0x2b
jne 0x49d330
add dword [esp + 0x74], 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
jmp 0x49d351
cmp ebx, 0x2d
jne 0x49d351
add dword [esp + 0x74], 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
mov dword [esp + 0x78], 1
mov esi, 0x100
jmp 0x49d7d4
cmp ebx, 0x100
jb 0x49d370
xor esi, esi
jmp 0x49d388
push 1
call fcn.004a1d60
mov edx, dword [eax + 0x1bc]
mov esi, dword [edx + 8]
movzx esi, word [esi + ebx*2]
pop ecx
and esi, 8
test esi, esi
jne 0x49d396
mov esi, 0x1000
jmp 0x49d7d4
cmp ebx, 0x30
jne 0x49d3a5
mov esi, 0x200
jmp 0x49d7c0
mov esi, 0x400
jmp 0x49d7d4
cmp ebx, 0x30
je 0x49d7c0
mov esi, 0x400
jmp 0x49d7d4
cmp ebx, 0x100
jb 0x49d3d0
xor ecx, ecx
jmp 0x49d3e8
push 1
call fcn.004a1d60
pop ecx
mov ecx, dword [eax + 0x1bc]
mov eax, dword [ecx + 8]
movzx ecx, word [eax + ebx*2]
and ecx, 8
test ecx, ecx
jne 0x49d3f6
mov esi, 0x800
jmp 0x49d7d4
mov ecx, dword [esp + 0x14]
mov edx, ecx
lea eax, [ecx + edx*4]
add eax, eax
mov dword [esp + 0x14], eax
lea edi, [ebx - 0x30]
add dword [esp + 0x14], edi
mov eax, dword [esp + 0x14]
cmp eax, 0x7fff
jle 0x49d7c0
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
jmp 0x49d7c0
mov edx, dword [esp + 0x28]
sub edx, 1
je 0x49d490
sub edx, 1
je 0x49d4d0
sub edx, 2
je 0x49d4e6
sub edx, 4
je 0x49d5c5
sub edx, 8
je 0x49d690
sub edx, 0x10
je 0x49d6d1
sub edx, 0x20
je 0x49d706
sub edx, 0x40
je 0x49d754
sub edx, 0x80
je 0x49d760
jmp 0x49d7d4
lea ebx, [esp + 0x34]
mov dword [ebx], 0
mov eax, ebx
mov dword [ebx + 4], 0
mov dword [esp + 0x70], eax
mov dword [esp + 0x40], 0xe
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 2
jmp 0x49d7c0
cmp ebx, 0x30
je 0x49d7c0
mov dword [esp + 0x28], 4
jmp 0x49d7d4
cmp ebx, 0x100
mov dword [esp + 0x18], ebx
jb 0x49d4f6
xor eax, eax
jmp 0x49d510
push 1
call fcn.004a1d60
pop ecx
mov ecx, dword [eax + 0x1bc]
mov eax, dword [ecx + 8]
movzx eax, word [eax + ebx*2]
and eax, 0x400
test eax, eax
jne 0x49d534
cmp ebx, dword [esp + 0x6c]
jne 0x49d527
mov dword [esp + 0x28], 8
jmp 0x49d7c0
mov dword [esp + 0x28], 0x10
jmp 0x49d7d4
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x30], eax
jae 0x49d7c0
mov edi, dword [esp + 0x2c]
add dword [esp + 0x30], 1
cmp edi, 0x80000000
sbb edi, 0xffffffff
sar edi, 1
mov ecx, dword [esp + 0x70]
movzx eax, byte [ecx + edi]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x18], 0x100
jae 0x49d581
push 1
call fcn.004a1d60
mov edx, dword [eax + 0x1bc]
pop ecx
mov ecx, dword [edx + 0xc]
movzx ebx, byte [ecx + ebx]
cmp ebx, 0x41
mov ecx, ebx
jl 0x49d590
add ecx, 0xffffffc9
jmp 0x49d593
sub ecx, 0x30
mov eax, dword [esp + 0x2c]
cdq
and eax, 1
xor eax, edx
sub eax, edx
je 0x49d5a7
or byte [esp + 0x1c], cl
jmp 0x49d5b0
mov bl, cl
shl bl, 4
or byte [esp + 0x1c], bl
mov eax, dword [esp + 0x70]
mov cl, byte [esp + 0x1c]
mov byte [eax + edi], cl
add dword [esp + 0x2c], 1
jmp 0x49d7c0
cmp ebx, 0x100
mov dword [esp + 0x18], ebx
jb 0x49d5d5
xor edx, edx
jmp 0x49d5f0
push 1
call fcn.004a1d60
mov eax, dword [eax + 0x1bc]
mov edx, dword [eax + 8]
movzx edx, word [edx + ebx*2]
pop ecx
and edx, 0x400
test edx, edx
jne 0x49d601
mov dword [esp + 0x28], 0x10
jmp 0x49d7d4
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x30], eax
jae 0x49d7c0
mov edi, dword [esp + 0x2c]
cmp edi, 0x80000000
sbb edi, 0xffffffff
sar edi, 1
mov ecx, dword [esp + 0x70]
movzx eax, byte [ecx + edi]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x18], 0x100
jae 0x49d649
push 1
call fcn.004a1d60
pop ecx
mov ecx, dword [eax + 0x1bc]
mov eax, dword [ecx + 0xc]
movzx ebx, byte [eax + ebx]
cmp ebx, 0x41
mov ecx, ebx
jl 0x49d655
add ecx, 0xffffffc9
jmp 0x49d658
sub ecx, 0x30
mov eax, dword [esp + 0x2c]
cdq
and eax, 1
xor eax, edx
sub eax, edx
je 0x49d670
or byte [esp + 0x1c], cl
jmp 0x49d679
mov bl, cl
shl bl, 4
or byte [esp + 0x1c], bl
mov eax, dword [esp + 0x70]
mov cl, byte [esp + 0x1c]
mov byte [eax + edi], cl
add dword [esp + 0x2c], 1
jmp 0x49d7c0
cmp ebx, 0x100
jb 0x49d6a0
mov edx, ebx
jmp 0x49d6b5
push 1
call fcn.004a1d60
mov edx, dword [eax + 0x1bc]
pop ecx
mov ecx, dword [edx + 0xc]
movzx edx, byte [ecx + ebx]
cmp edx, 0x50
jne 0x49d6c7
mov dword [esp + 0x28], 0x20
jmp 0x49d7c0
mov esi, 0x800
jmp 0x49d7d4
cmp ebx, 0x2d
jne 0x49d6e3
mov dword [esp + 0x80], 1
jmp 0x49d6f9
cmp ebx, 0x2b
je 0x49d6f9
push 1
push ebx
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
sub dword [esp + 0x74], 1
mov dword [esp + 0x28], 0x40
jmp 0x49d7c0
cmp ebx, 0x100
jb 0x49d712
xor edi, edi
jmp 0x49d72a
push 1
call fcn.004a1d60
mov eax, dword [eax + 0x1bc]
mov edi, dword [eax + 8]
movzx edi, word [edi + ebx*2]
pop ecx
and edi, 8
test edi, edi
jne 0x49d738
mov esi, 0x1000
jmp 0x49d7d4
cmp ebx, 0x30
jne 0x49d747
mov dword [esp + 0x28], pe_nt_image_headers32
jmp 0x49d7c0
mov dword [esp + 0x28], 0x100
jmp 0x49d7d4
cmp ebx, 0x30
je 0x49d7c0
mov esi, 0x100
jmp 0x49d7d4
cmp ebx, 0x100
jb 0x49d770
xor edx, edx
jmp 0x49d788
push 1
call fcn.004a1d60
mov edx, dword [eax + 0x1bc]
pop ecx
mov ecx, dword [edx + 8]
movzx edx, word [ecx + ebx*2]
and edx, 8
test edx, edx
jne 0x49d793
mov esi, 0x800
jmp 0x49d7d4
mov ecx, dword [esp + 0x20]
add ebx, 0xffffffd0
mov edx, ecx
lea eax, [ecx + edx*4]
add eax, eax
mov dword [esp + 0x20], eax
add dword [esp + 0x20], ebx
cmp dword [esp + 0x14], 0x7fff
mov eax, dword [esp + 0x20]
jle 0x49d7c0
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
add dword [esp + 0x74], 1
push 0
push 0
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
mov ebx, eax
mov eax, dword [ebp + 8]
cmp dword [esp + 0x74], eax
jg 0x49d7ee
cmp ebx, 0xffffffff
je 0x49d7ee
test esi, 0x1800
je 0x49ccb2
cmp esi, 0x8000
je 0x49d803
xor ecx, ecx
test esi, 0xe2c
sete cl
jmp 0x49d81f
xor ecx, ecx
mov edi, dword [esp + 0x74]
add edi, 0xffffffff
cmp edi, 2
setle cl
jle 0x49d81f
test dword [esp + 0x28], 0x18e
sete cl
test ecx, ecx
je 0x49d830
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
jmp 0x49d83f
mov edx, dword [esp + 0x74]
add edx, 0xffffffff
add edx, dword [esp]
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
push 1
push ebx
push dword [ebp + 0x10]
call dword [ebp + 0xc]
add esp, 0xc
cmp dword [esp + 0x28], 0
fldz
jne 0x49d9b4
cmp dword [esp + 0x78], 0
je 0x49d869
mov eax, dword [esp + 0x14]
neg eax
mov dword [esp + 0x14], eax
movzx ebx, byte [esp + 0x48]
movzx edx, bl
mov ecx, edx
lea eax, [esp + edx + 0x49]
jmp 0x49d885
add dword [esp + 0x3c], 1
mov edi, ecx
sub ecx, 1
test edi, edi
je 0x49d896
sub eax, 1
cmp byte [eax], 0x30
je 0x49d880
mov dl, cl
add dl, 1
mov byte [esp + 0x48], dl
cmp byte [esp + 0x48], 0
jne 0x49d8b8
movzx eax, byte [esp + 0x48]
add byte [esp + 0x48], 1
movzx eax, al
mov byte [esp + eax + 0x49], 0x30
mov eax, dword [esp + 0x3c]
add dword [esp + 0x14], eax
cmp dword [esp + 0x14], 0xffff8000
jl 0x49d8d4
cmp dword [esp + 0x14], 0x7fff
jle 0x49d8dd
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
je 0x49d920
cmp dword [esp + 0x78], 0
je 0x49d8f8
lea esp, [ebp - 0xc]
pop edi
pop esi
fstp st(0)
pop ebx
pop ebp
fldz
ret
cmp dword [esp + 0x7c], 0
je 0x49d910
fld qword [0x4d0a70]
fchs
jmp 0x49d916
fld qword [0x4d0a70]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
fstp st(1)
ret
mov ax, word [esp + 0x14]
lea edx, [esp + 0x44]
mov word [esp + 0x46], ax
push edx
fstp st(0)
call fcn.004a1fa0
pop ecx
fstp qword [esp]
fldz
fcomp qword [esp]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x49d967
fld qword [esp]
fcomp qword [0x4d0a78]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x49d967
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
jmp 0x49d992
fld qword [esp]
fcomp qword [0x4d0a80]
fnstsw ax
test ah, 0x45
jne 0x49d992
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
mov edi, dword [0x4d0a70]
mov eax, dword [0x4d0a74]
mov dword [esp], edi
mov dword [esp + 4], eax
cmp dword [esp + 0x7c], 0
je 0x49d9a9
test esi, 0xe2c
je 0x49d9a9
xor dword [esp + 4], 0x80000000
fld qword [esp]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret
cmp dword [esp + 0x80], 0
je 0x49d9c8
mov ecx, dword [esp + 0x20]
neg ecx
mov dword [esp + 0x20], ecx
mov ebx, dword [esp + 0x30]
lea ebx, [ebx*4]
add dword [esp + 0x20], ebx
mov dword [esp + 8], 0
movzx eax, byte [esp + 0x34]
jmp 0x49d9f0
add dword [esp + 8], 1
sub dword [esp + 0x20], 1
cmp dword [esp + 8], 4
jae 0x49da06
mov edx, pe_nt_image_headers32
mov ecx, dword [esp + 8]
sar edx, cl
test edx, eax
je 0x49d9e6
mov esi, dword [esp + 8]
add esi, 1
je 0x49dbf3
lea ebx, [esp + 0x3b]
lea eax, [esp + 0x34]
cmp ebx, eax
mov byte [esp + 0x24], 0
mov dword [esp + 0x70], ebx
jb 0x49dbf3
add eax, 8
lea edi, [esp + 0x34]
sub edi, ebx
add edi, 0xffffffff
neg edi
cmp edi, 8
mov dword [esp + 0x78], eax
jle 0x49dba1
mov ecx, dword [esp + 8]
add ecx, 1
mov esi, 8
sub esi, ecx
mov cl, byte [esp + 8]
add cl, 1
mov eax, dword [esp + 0x70]
movzx eax, byte [eax]
movzx ebx, al
mov eax, dword [esp + 0x70]
mov dl, bl
shl dl, cl
or dl, byte [esp + 0x24]
mov byte [eax], dl
mov eax, dword [esp + 0x70]
mov ecx, esi
sar ebx, cl
movzx ecx, byte [eax - 1]
movzx eax, cl
mov dword [esp + 0x2c], eax
mov cl, byte [esp + 8]
add cl, 1
mov dl, byte [esp + 0x2c]
shl dl, cl
or dl, bl
mov eax, dword [esp + 0x70]
mov byte [eax - 1], dl
mov ecx, esi
sar dword [esp + 0x2c], cl
mov eax, dword [esp + 0x70]
movzx eax, byte [eax - 2]
movzx edx, al
mov cl, byte [esp + 8]
add cl, 1
mov eax, dword [esp + 0x70]
mov bl, dl
shl bl, cl
or bl, byte [esp + 0x2c]
mov byte [eax - 2], bl
mov eax, dword [esp + 0x70]
mov ecx, esi
sar edx, cl
movzx ecx, byte [eax - 3]
movzx eax, cl
mov dword [esp + 0x30], eax
mov cl, byte [esp + 8]
add cl, 1
mov bl, byte [esp + 0x30]
shl bl, cl
or bl, dl
mov eax, dword [esp + 0x70]
mov byte [eax - 3], bl
mov ecx, esi
sar dword [esp + 0x30], cl
mov eax, dword [esp + 0x70]
movzx eax, byte [eax - 4]
movzx ebx, al
mov cl, byte [esp + 8]
add cl, 1
mov eax, dword [esp + 0x70]
mov dl, bl
shl dl, cl
or dl, byte [esp + 0x30]
mov byte [eax - 4], dl
mov eax, dword [esp + 0x70]
mov ecx, esi
sar ebx, cl
movzx ecx, byte [eax - 5]
movzx eax, cl
mov dword [esp + 0x3c], eax
mov cl, byte [esp + 8]
add cl, 1
mov dl, byte [esp + 0x3c]
shl dl, cl
or dl, bl
mov eax, dword [esp + 0x70]
mov byte [eax - 5], dl
mov ecx, esi
sar dword [esp + 0x3c], cl
mov eax, dword [esp + 0x70]
movzx eax, byte [eax - 6]
movzx edx, al
mov cl, byte [esp + 8]
add cl, 1
mov eax, dword [esp + 0x70]
mov bl, dl
shl bl, cl
or bl, byte [esp + 0x3c]
mov byte [eax - 6], bl
mov ecx, dword [esp + 0x70]
movzx eax, byte [ecx - 7]
mov dword [esp + 0x24], eax
mov cl, byte [esp + 8]
add cl, 1
mov bl, byte [esp + 0x24]
shl bl, cl
mov eax, dword [esp + 0x70]
mov ecx, esi
sar edx, cl
or bl, dl
mov byte [eax - 7], bl
sar dword [esp + 0x24], cl
sub dword [esp + 0x70], 8
mov eax, dword [esp + 0x78]
cmp dword [esp + 0x70], eax
jae 0x49da55
lea ecx, [esp + 0x34]
cmp dword [esp + 0x70], ecx
jb 0x49dbf3
mov esi, dword [esp + 8]
add esi, 1
mov edi, 8
sub edi, esi
lea eax, [eax]
mov eax, dword [esp + 0x70]
movzx ebx, byte [eax]
mov cl, byte [esp + 8]
add cl, 1
mov eax, dword [esp + 0x70]
mov dl, bl
shl dl, cl
or dl, byte [esp + 0x24]
mov byte [eax], dl
mov ecx, edi
sar ebx, cl
lea eax, [esp + 0x34]
mov byte [esp + 0x24], bl
sub dword [esp + 0x70], 1
cmp dword [esp + 0x70], eax
jae 0x49dbc0
lea ecx, [esp + 0xc]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [esp + 0x6c], 0xb
mov dword [esp + 0x40], 0
mov dword [esp + 0x80], 0
mov esi, 1
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x80]
add edi, 8
cmp edi, 0x35
movzx ebx, byte [esp + eax + 0x34]
jbe 0x49dc48
mov cl, 0x35
sub cl, byte [esp + 0x40]
mov al, 0xff
shl al, cl
and bl, al
movzx eax, bl
mov ebx, eax
mov ecx, 7
and ecx, dword [esp + 0x6c]
mov edx, 7
sub edx, ecx
mov ecx, edx
sar ebx, cl
or byte [esp + esi + 0xc], bl
add esi, 1
mov cl, 8
sub cl, dl
shl al, cl
add dword [esp + 0x6c], 8
or byte [esp + esi + 0xc], al
add dword [esp + 0x80], 1
add dword [esp + 0x40], 8
cmp dword [esp + 0x40], 0x35
jb 0x49dc24
movzx ebx, word [esp + 0x20]
add ebx, 0x3fe
movzx edi, bx
test edi, 0xfffff800
je 0x49dcb6
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
lea esp, [ebp - 0xc]
pop edi
pop esi
fstp st(0)
pop ebx
pop ebp
fldz
ret
fldz
fcomp qword [0x4d0a80]
fnstsw ax
movzx edx, bx
shl edx, 5
movzx edx, dx
mov ecx, edx
sar ecx, 9
sar edx, 1
or byte [esp + 0xc], cl
or byte [esp + 0xd], dl
test ah, 0x45
jne 0x49dce6
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
cmp dword [esp + 0x7c], 0
je 0x49dcf2
or byte [esp + 0xc], 0x80
lea esi, [esp + 0xc]
xor edi, edi
movzx ecx, byte [esi + edi]
mov eax, 7
sub eax, edi
movzx ebx, byte [esi + eax]
mov byte [esi + edi], bl
add edi, 1
cmp edi, 4
mov byte [esi + eax], cl
jb 0x49dcf8
fstp st(0)
fld qword [esp + 0xc]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret