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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x400b8
call fcn.00553ce0
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x4b3477
mov eax, dword [sym.imp.MSVCRT.dll__iob]
push str.AHD_interpolation..._n
add eax, 0x40
push eax
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 8
xor edi, edi
lea ebx, [esp + 0xc4]
mov dword [esp + 0x10], edi
fild dword [esp + 0x10]
fmul dword [0x574c1c]
fst dword [esp + 0xc]
fcomp dword [0x574c18]
fnstsw ax
test ah, 0x41
jne 0x4b34b0
fld dword [esp + 0xc]
fld qword [0x574c10]
call sub.MSVCRT.dll__CIpow
jmp 0x4b34c0
fld dword [esp + 0xc]
fmul dword [0x574c0c]
fadd dword [0x574c08]
fstp dword [ebx]
inc edi
add ebx, 4
cmp edi, 0x10000
mov dword [esp + 0x10], edi
jl 0x4b3484
lea edi, [esp + 0x94]
mov dword [esp + 0xc], 0x571918
mov dword [esp + 0x18], edi
mov ebx, 0x571960
mov eax, dword [esi + 0x6618]
test eax, eax
jle 0x4b353f
lea ecx, [esi + 0xe70c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0xc]
mov dword [edi], 0
fld dword [edi]
mov edx, 3
fld dword [ecx]
fmul qword [eax]
add eax, 8
add ecx, 0x10
dec edx
fdiv dword [ebx]
faddp st(1)
jne 0x4b3513
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
fstp dword [edi]
add edi, 4
add ecx, 4
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], eax
jne 0x4b3502
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
add ebx, 4
add edi, 0x10
add ecx, 0x18
cmp ebx, 0x57196c
mov dword [esp + 0x18], edi
mov dword [esp + 0xc], ecx
jl 0x4b34ea
push 5
push esi
call fcn.004b21e0
push 0x1a0000
call dword [sym.imp.MSVCRT.dll_malloc]
mov edi, eax
push str.ahd_interpolate__
push edi
push esi
mov dword [esp + 0x3c], edi
call fcn.004a6780
xor ecx, ecx
add esp, 0x18
mov cx, word [esi + 0x65fc]
mov dword [esp + 0x1c], 2
sub ecx, 5
cmp ecx, 2
jle 0x4b4021
xor edx, edx
mov dword [esp + 0x20], 2
mov dx, word [esi + 0x65fe]
sub edx, 5
cmp edx, 2
jle 0x4b3ffc
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x14], edi
lea eax, [edi + 0x100]
cmp edi, eax
jge 0x4b37e8
xor eax, eax
mov ax, word [esi + 0x65fc]
sub eax, 2
cmp edi, eax
jge 0x4b37e8
mov ecx, dword [esp + 0x20]
mov ebx, dword [esi + 0x657c]
mov eax, edi
and ecx, 1
and eax, 7
mov edx, ebx
shl eax, 1
add ecx, eax
shl ecx, 1
shr edx, cl
mov ecx, dword [esp + 0x20]
and edx, 1
add edx, ecx
mov ecx, edx
mov dword [esp + 0x18], edx
and ecx, 1
add ecx, eax
shl ecx, 1
shr ebx, cl
mov ecx, dword [esp + 0x20]
lea eax, [ecx + 0x100]
and ebx, 3
cmp edx, eax
mov dword [esp + 0x28], ebx
jge 0x4b37d1
xor eax, eax
mov ax, word [esi + 0x65fe]
lea ecx, [eax - 2]
cmp edx, ecx
jge 0x4b37d1
imul eax, edi
mov ecx, dword [esi + 0x6628]
add eax, edx
xor edi, edi
mov si, word [ecx + eax*8 + 0xa]
lea eax, [ecx + eax*8]
mov ecx, esi
mov di, word [eax + ebx*2]
and ecx, 0xffff
mov dword [esp + 0xc], ecx
mov cx, word [eax - 6]
and ecx, 0xffff
mov dword [esp + 0x10], ecx
add edi, ecx
add edi, dword [esp + 0xc]
shl edi, 1
mov ecx, edi
xor edi, edi
mov di, word [eax + ebx*2 + 0x10]
sub ecx, edi
xor edi, edi
mov di, word [eax + ebx*2 - 0x10]
sub ecx, edi
sar ecx, 2
cmp word [eax - 6], si
jae 0x4b36c1
mov edi, dword [esp + 0xc]
cmp ecx, edi
jge 0x4b36af
mov edi, ecx
mov esi, dword [esp + 0x10]
cmp esi, edi
jg 0x4b36dd
mov esi, dword [esp + 0xc]
cmp ecx, esi
jge 0x4b36dd
jmp 0x4b36db
mov edi, dword [esp + 0x10]
cmp ecx, edi
jge 0x4b36cb
mov edi, ecx
mov esi, dword [esp + 0xc]
cmp esi, edi
jg 0x4b36dd
mov esi, dword [esp + 0x10]
cmp ecx, esi
jge 0x4b36dd
mov esi, ecx
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
sub ecx, edi
mov edi, dword [esp + 0x20]
shl ecx, 8
sub ecx, edi
add ecx, edx
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x24]
lea ecx, [ecx + edx*2]
mov edx, dword [ebp + 8]
mov dword [esp + 0x2c], ecx
mov word [ecx + 2], si
xor ecx, ecx
mov cx, word [edx + 0x65fe]
mov edx, eax
shl ecx, 3
sub edx, ecx
xor esi, esi
mov di, word [edx + 2]
mov dx, word [ecx + eax + 2]
mov dword [esp + 0xc], edx
and edx, 0xffff
mov dword [esp + 0x10], edx
mov edx, ebx
sub edx, ecx
mov dword [esp + 0x30], edi
and edi, 0xffff
mov si, word [eax + edx*2]
xor edx, edx
mov dx, word [eax + ebx*2]
mov ebx, dword [esp + 0x10]
add edx, ebx
mov ebx, dword [esp + 0x28]
add edx, edi
add ecx, ebx
shl edx, 1
sub edx, esi
xor esi, esi
mov si, word [eax + ecx*2]
mov ax, word [esp + 0xc]
sub edx, esi
sar edx, 2
cmp word [esp + 0x30], ax
jae 0x4b3789
mov ecx, dword [esp + 0x10]
mov eax, edx
cmp edx, ecx
jl 0x4b377d
mov eax, ecx
cmp edi, eax
jg 0x4b37a1
cmp edx, ecx
jl 0x4b37a3
mov edx, ecx
jmp 0x4b37a3
cmp edx, edi
mov eax, edx
jl 0x4b3791
mov eax, edi
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jle 0x4b379d
mov edx, ecx
jmp 0x4b37a3
cmp edx, edi
jl 0x4b37a3
mov edx, edi
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0x14]
mov word [ecx + 0x60002], dx
mov edx, dword [esp + 0x18]
add edx, 2
add eax, 0x100
cmp edx, eax
mov dword [esp + 0x18], edx
jl 0x4b3639
mov ecx, dword [esp + 0x1c]
inc edi
mov dword [esp + 0x14], edi
lea eax, [ecx + 0x100]
cmp edi, eax
jl 0x4b35d8
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10], 0
lea eax, [edx + 0xff]
mov ecx, dword [esp + 0x1c]
lea ebx, [ecx + 1]
cmp ebx, eax
mov dword [esp + 0x14], ebx
jge 0x4b3b8f
xor edx, edx
mov dx, word [esi + 0x65fc]
sub edx, 3
cmp ebx, edx
jge 0x4b3b8f
mov eax, dword [esp + 0x20]
lea ecx, [eax + 1]
add eax, 0xff
cmp ecx, eax
mov dword [esp + 0x18], ecx
jge 0x4b3b75
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [edx + 0x65fe]
mov dword [esp + 0xc], eax
add eax, 0xfffffffd
cmp ecx, eax
jge 0x4b3b75
mov eax, dword [esp + 0xc]
mov esi, dword [edx + 0x6628]
imul eax, ebx
add eax, ecx
mov edx, dword [edx + 0x657c]
lea edi, [esi + eax*8]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
sub eax, esi
mov esi, dword [esp + 0x20]
add eax, ebx
shl eax, 8
sub eax, esi
mov esi, dword [esp + 0x24]
add eax, ecx
and ecx, 1
mov dword [esp + 0x30], ecx
lea eax, [eax + eax*2]
shl eax, 1
mov dword [esp + 0x34], eax
add esi, eax
mov eax, ebx
and eax, 7
lea ecx, [ecx + eax*2]
mov eax, edx
shl ecx, 1
shr eax, cl
mov dword [esp + 0x28], ecx
and eax, 3
mov ecx, eax
mov eax, 2
sub eax, ecx
cmp eax, 1
jne 0x4b3971
mov ecx, dword [esp + 0x30]
lea eax, [ebx*4 + 4]
and eax, 0x1c
mov ebx, edi
lea ecx, [eax + ecx*2]
shr edx, cl
and edx, 3
mov eax, edx
neg edx
lea ecx, [eax + eax + 4]
sub ebx, ecx
xor ecx, ecx
mov cx, word [ebx]
xor ebx, ebx
mov bx, word [edi + edx*2 + 0xc]
add ecx, ebx
xor ebx, ebx
mov bx, word [esi + 8]
sub ecx, ebx
xor ebx, ebx
mov bx, word [esi - 4]
sub ecx, ebx
xor ebx, ebx
mov bx, word [edi + 2]
sar ecx, 1
add ecx, ebx
cmp ecx, 0xffff
jge 0x4b391e
xor ebx, ebx
test ecx, ecx
setl bl
dec ebx
and ecx, ebx
jmp 0x4b3923
mov ecx, 0xffff
mov word [esi + edx*2 + 4], cx
mov ecx, dword [ebp + 8]
xor edx, edx
xor ebx, ebx
mov dx, word [ecx + 0x65fe]
shl edx, 2
lea ecx, [edx + eax]
mov bx, word [edi + ecx*2]
mov ecx, ebx
mov ebx, eax
sub ebx, edx
xor edx, edx
mov dx, word [edi + ebx*2]
add ecx, edx
xor edx, edx
mov dx, word [esi + 0x602]
sub ecx, edx
xor edx, edx
mov dx, word [esi - 0x5fe]
sub ecx, edx
sar ecx, 1
xor edx, edx
mov dx, word [edi + 2]
jmp 0x4b39f4
mov ecx, dword [esp + 0xc]
xor ebx, ebx
lea edx, [ecx*4 + 4]
mov dword [esp + 0xc], edx
lea edx, [ecx*4]
lea ecx, [edx + eax]
mov bx, word [edi + ecx*2 - 8]
mov ecx, ebx
mov ebx, eax
sub ebx, edx
xor edx, edx
mov dx, word [edi + ebx*2 + 8]
xor ebx, ebx
add ecx, edx
mov edx, dword [esp + 0xc]
add edx, eax
mov bx, word [edi + edx*2]
mov edx, eax
add ecx, ebx
mov ebx, dword [esp + 0xc]
sub edx, ebx
xor ebx, ebx
mov bx, word [edi + edx*2]
xor edx, edx
mov dx, word [esi + 0x608]
add ecx, ebx
sub ecx, edx
xor edx, edx
mov dx, word [esi - 0x604]
sub ecx, edx
xor edx, edx
mov dx, word [esi + 0x5fc]
sub ecx, edx
xor edx, edx
mov dx, word [esi - 0x5f8]
sub ecx, edx
inc ecx
sar ecx, 2
xor edx, edx
mov dx, word [esi + 2]
add ecx, edx
cmp ecx, 0xffff
jge 0x4b3a0a
xor edx, edx
test ecx, ecx
setl dl
dec edx
and ecx, edx
jmp 0x4b3a0f
mov ecx, 0xffff
mov edx, dword [ebp + 8]
mov word [esi + eax*2], cx
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 0x657c]
shr eax, cl
fld dword [0x5565c0]
fld dword [0x5565c0]
fld dword [0x5565c0]
and eax, 3
mov cx, word [edi + eax*2]
mov word [esi + eax*2], cx
mov ecx, dword [edx + 0x6618]
test ecx, ecx
jle 0x4b3a79
lea eax, [esp + 0xa4]
xor edx, edx
add eax, 4
mov dx, word [esi]
add esi, 2
mov dword [esp + 0x2c], edx
dec ecx
fild dword [esp + 0x2c]
fld st(0)
fmul dword [eax - 0x14]
faddp st(2)
fld st(0)
fmul dword [eax - 4]
faddp st(3)
fmul dword [eax + 0xc]
faddp st(3)
jne 0x4b3a50
call sub.MSVCRT.dll__ftol
cmp eax, 0xffff
jge 0x4b3a94
test eax, eax
jge 0x4b3a8d
xor eax, eax
jmp 0x4b3a99
cmp eax, 0xffff
jl 0x4b3a99
mov eax, 0xffff
fld dword [esp + eax*4 + 0xc4]
fstp dword [esp + 0x40]
call sub.MSVCRT.dll__ftol
cmp eax, 0xffff
jge 0x4b3abf
test eax, eax
jge 0x4b3ab8
xor eax, eax
jmp 0x4b3ac4
cmp eax, 0xffff
jl 0x4b3ac4
mov eax, 0xffff
fld dword [esp + eax*4 + 0xc4]
fstp dword [esp + 0x44]
call sub.MSVCRT.dll__ftol
cmp eax, 0xffff
jge 0x4b3aea
test eax, eax
jge 0x4b3ae3
xor eax, eax
jmp 0x4b3aef
cmp eax, 0xffff
jl 0x4b3aef
mov eax, 0xffff
fld dword [esp + eax*4 + 0xc4]
fld dword [esp + 0x44]
fmul dword [0x574c04]
fsub dword [0x574c00]
fmul dword [0x574bfc]
call sub.MSVCRT.dll__ftol
fld dword [esp + 0x40]
fsub dword [esp + 0x44]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x24]
fmul dword [0x574bf8]
mov word [edi + esi + 0xc0000], ax
call sub.MSVCRT.dll__ftol
fld dword [esp + 0x44]
fsub st(1)
mov word [edi + esi + 0xc0002], ax
fmul dword [0x574bf4]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov word [edi + esi + 0xc0004], ax
mov eax, dword [esp + 0x20]
inc ecx
add eax, 0xff
cmp ecx, eax
mov dword [esp + 0x18], ecx
fstp st(0)
jl 0x4b3839
mov ecx, dword [esp + 0x1c]
mov esi, dword [ebp + 8]
inc ebx
lea eax, [ecx + 0xff]
mov dword [esp + 0x14], ebx
cmp ebx, eax
jl 0x4b380d
mov ecx, dword [esp + 0x10]
add ecx, 0x100
cmp ecx, 0x200
mov dword [esp + 0x10], ecx
jl 0x4b37fa
mov edx, dword [esp + 0x24]
mov ecx, 0x8000
xor eax, eax
lea edi, [edx + 0x180000]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x1c]
lea edx, [eax + 2]
add eax, 0xfe
cmp edx, eax
mov dword [esp + 0x14], edx
jge 0x4b3de2
mov eax, dword [esp + 0x1c]
mov ecx, edx
shl ecx, 8
shl eax, 8
mov dword [esp + 0x28], ecx
mov dword [esp + 0x34], eax
jmp 0x4b3bee
mov eax, dword [esp + 0x34]
xor edi, edi
mov di, word [esi + 0x65fc]
sub edi, 4
cmp edx, edi
jge 0x4b3de2
mov edx, dword [esp + 0x20]
sub ecx, eax
mov dword [esp + 0x2c], ecx
lea eax, [edx + 2]
add edx, 0xfe
cmp eax, edx
mov dword [esp + 0x18], eax
jge 0x4b3db7
jmp 0x4b3c27
mov ecx, dword [esp + 0x2c]
mov esi, dword [ebp + 8]
xor edx, edx
mov dx, word [esi + 0x65fe]
sub edx, 4
cmp eax, edx
jge 0x4b3db7
mov edx, dword [esp + 0x20]
sub eax, edx
xor edx, edx
add eax, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*2 + 0xc0000]
mov dword [esp + 0x10], ecx
movsx eax, word [ecx + 4]
movsx ebx, word [ecx]
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], ebx
movsx eax, word [ecx + 2]
mov dword [esp + 0x38], eax
mov esi, 0x57273c
jmp 0x4b3c80
mov ebx, dword [esp + 0x30]
mov eax, dword [esi]
add esi, 4
add edx, 4
lea eax, [eax + eax*2]
movsx edi, word [ecx + eax*2]
lea ecx, [ecx + eax*2]
mov eax, ebx
sub eax, edi
sub ebx, edi
movsx edi, word [ecx + 4]
sar eax, 0x1f
xor ebx, eax
sub ebx, eax
mov eax, dword [esp + 0xc]
sub eax, edi
mov dword [esp + edx + 0x70], ebx
movsx edi, word [ecx + 2]
mov ecx, dword [esp + 0x38]
sub ecx, edi
mov edi, ecx
imul edi, ecx
mov ecx, eax
imul ecx, eax
add edi, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + edx + 0x50], edi
cmp esi, 0x57274c
jl 0x4b3c7c
add ecx, 0x60000
cmp edx, 0x20
mov dword [esp + 0x10], ecx
jl 0x4b3c5e
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
cmp edi, ebx
mov esi, edi
ja 0x4b3cf6
mov esi, ebx
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
cmp ecx, edx
mov eax, ecx
ja 0x4b3d0c
mov eax, edx
cmp esi, eax
jae 0x4b3d20
cmp edi, ebx
jbe 0x4b3d1a
mov dword [esp + 0xc], edi
jmp 0x4b3d2c
mov dword [esp + 0xc], ebx
jmp 0x4b3d2c
cmp ecx, edx
mov dword [esp + 0xc], ecx
ja 0x4b3d2c
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
cmp edi, ebx
mov esi, edi
ja 0x4b3d3c
mov esi, ebx
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
cmp ecx, edx
mov eax, ecx
ja 0x4b3d4c
mov eax, edx
cmp esi, eax
jae 0x4b3d5c
cmp edi, ebx
jbe 0x4b3d58
mov edx, edi
jmp 0x4b3d62
mov edx, ebx
jmp 0x4b3d62
cmp ecx, edx
jbe 0x4b3d62
mov edx, ecx
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0xc]
add ecx, 0x180000
xor eax, eax
add esi, ecx
mov ecx, 4
cmp dword [esp + eax + 0x74], edi
ja 0x4b3d8b
cmp dword [esp + eax + 0x54], edx
ja 0x4b3d8b
inc byte [esi]
add eax, 4
dec ecx
jne 0x4b3d7d
add esi, 0x10000
cmp eax, 0x20
jl 0x4b3d78
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
inc eax
lea ecx, [edx + 0xfe]
mov dword [esp + 0x18], eax
cmp eax, ecx
jl 0x4b3c23
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov esi, dword [ebp + 8]
inc edx
add eax, 0xfe
add ecx, 0x100
cmp edx, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x28], ecx
jl 0x4b3bea
mov edx, dword [esp + 0x1c]
lea edi, [edx + 3]
lea eax, [edx + 0xfd]
cmp edi, eax
mov dword [esp + 0x14], edi
jge 0x4b3fda
mov ecx, dword [esp + 0x20]
mov ebx, edi
shl ebx, 8
shl edx, 8
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], edx
jmp 0x4b3e19
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x3c]
xor eax, eax
mov ax, word [esi + 0x65fc]
sub eax, 5
cmp edi, eax
jge 0x4b3fde
mov eax, dword [esp + 0x1c]
sub edi, eax
mov eax, ebx
sub eax, edx
lea edx, [ecx + 3]
mov dword [esp + 0x34], eax
lea eax, [ecx + 0xfd]
cmp edx, eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x18], edx
jge 0x4b3fb0
jmp 0x4b3e5a
mov edi, dword [esp + 0xc]
xor eax, eax
mov ax, word [esi + 0x65fe]
sub eax, 5
cmp edx, eax
jge 0x4b3fb0
sub edx, ecx
lea eax, [edi + 1]
mov dword [esp + 0x38], edx
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x4c]
lea ebx, [edi - 1]
mov dword [ecx], 0
cmp ebx, eax
jg 0x4b3ed0
lea edi, [edx + 1]
lea eax, [edx - 1]
cmp eax, edi
jg 0x4b3ec2
mov edx, dword [esp + 0x10]
lea esi, [edx + ebx]
mov edx, dword [esp + 0x24]
shl esi, 8
add edx, 0x180000
add edx, esi
movsx esi, byte [edx + eax]
add dword [ecx], esi
inc eax
cmp eax, edi
jle 0x4b3eb0
mov esi, dword [ebp + 8]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0xc]
inc ebx
inc eax
cmp ebx, eax
jle 0x4b3e93
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
add ecx, 4
add ebx, 0x100
cmp ebx, 0x200
mov dword [esp + 0x10], ebx
jl 0x4b3e83
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
cmp edi, ecx
je 0x4b3f47
xor eax, eax
xor ebx, ebx
cmp ecx, edi
mov ecx, dword [esp + 0xc]
setg bl
shl ebx, 8
add ebx, ecx
shl ebx, 8
add ebx, edx
mov edx, dword [esp + 0x24]
mov ecx, ebx
lea ecx, [ecx + ecx*2]
lea ecx, [edx + ecx*2]
xor edx, edx
mov edi, dword [esp + 0x18]
mov dx, word [esi + 0x65fe]
mov bx, word [ecx]
imul edx, dword [esp + 0x14]
add edx, edi
mov edi, dword [esi + 0x6628]
add ecx, 2
lea edx, [eax + edx*4]
inc eax
cmp eax, 3
mov word [edi + edx*2], bx
jl 0x4b3f18
jmp 0x4b3f95
mov ecx, dword [esp + 0x34]
xor eax, eax
add edx, ecx
mov ecx, dword [esp + 0x24]
lea edx, [edx + edx*2]
lea ecx, [ecx + edx*2]
xor edx, edx
xor edi, edi
mov dx, word [ecx + 0x60000]
mov di, word [ecx]
add edx, edi
xor edi, edi
mov di, word [esi + 0x65fe]
mov ebx, dword [esp + 0x18]
imul edi, dword [esp + 0x14]
add edi, ebx
mov ebx, dword [esi + 0x6628]
sar edx, 1
lea edi, [eax + edi*4]
inc eax
add ecx, 2
cmp eax, 3
mov word [ebx + edi*2], dx
jl 0x4b3f59
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
inc edx
lea eax, [ecx + 0xfd]
mov dword [esp + 0x18], edx
cmp edx, eax
jl 0x4b3e56
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
inc edx
add eax, 0xfd
add ebx, 0x100
cmp edx, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x28], ebx
jl 0x4b3e11
jmp 0x4b3fde
mov ecx, dword [esp + 0x20]
xor edx, edx
add ecx, 0xfa
mov dx, word [esi + 0x65fe]
mov dword [esp + 0x20], ecx
sub edx, 5
cmp ecx, edx
jl 0x4b35c2
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov cx, word [esi + 0x65fc]
add eax, 0xfa
sub ecx, 5
mov dword [esp + 0x1c], eax
cmp eax, ecx
jl 0x4b35a5
mov edi, dword [esp + 0x24]
push edi
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret