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

Disassembly:
sub esp, 0x1b4
push ebx
push ebp
mov ebx, ecx
push esi
push edi
xor edi, edi
cmp dword [ebx + 0x1be0], edi
je 0x4ed590
cmp dword [ebx + 0x1ca8], edi
je 0x4ed590
fld dword [ebx + 0x1cbc]
fcomp dword [ebx + 0x1bd4]
fnstsw ax
test ah, 1
je 0x4ed59d
mov eax, dword [0x5ce824]
mov ecx, dword [0x5ce82c]
push edi
push eax
push edi
push ecx
call fcn.005758c0
mov esi, dword [0x5ce828]
push edi
push esi
push edx
push eax
call fcn.00575800
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
fild qword [esp + 0x10]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
mov dword [0x5ce82c], eax
fidiv dword [esp + 0x10]
fcomp dword [0x594630]
fnstsw ax
test ah, 1
je 0x4ed59d
mov dword [ebx + 0x1cac], edi
mov dword [ebx + 0x1ca8], edi
mov dword [ebx + 0x1cbc], edi
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b4
ret
mov ecx, 0x1e
xor eax, eax
lea edi, [esp + 0x68]
mov ebp, dword [ebx + 0x1bc0]
rep stosd dword es:[edi], eax
fld dword [0x58ddb8]
mov ecx, dword [ebx + 0x1cac]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x1bc4]
lea esi, [ecx + ecx*2 + 1]
lea edi, [ecx + ecx*2]
shl edi, 2
lea edx, [eax + esi]
mov dword [esp + 0x2c], esi
cmp edx, ebp
mov dword [esp + 0x10], edi
jg 0x4ee1d7
mov edx, dword [ebx + 0x1bd0]
lea ebp, [edx + edi]
cmp ebp, dword [ebx + 0x1bcc]
jg 0x4ee1d7
lea ebp, [eax*8]
mov dword [esp + 0x50], 0
sub ebp, eax
mov eax, dword [ebx + 0x1bbc]
lea eax, [eax + ebp*4]
mov ebp, dword [ebx + 0x1bc8]
mov dword [esp + 0x64], eax
lea edx, [ebp + edx*2]
xor ebp, ebp
test ecx, ecx
mov dword [esp + 0x60], edx
jle 0x4eda88
fld dword [esp + 0x4c]
fld dword [esp + 0x3c]
lea ecx, [ebx + 0x1be6]
add edx, 4
add eax, 0x1c
mov dword [esp + 0x1c], ecx
mov esi, dword [esp + 0x1c]
xor ecx, ecx
lea edi, [eax - 0x1c]
add edx, 0x18
mov cx, word [esi - 2]
fxch st(2)
lea esi, [ecx*8]
sub esi, ecx
mov ecx, dword [ebx + 0x1be0]
lea esi, [ecx + esi*4]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x1c]
xor ecx, ecx
mov edi, eax
mov cx, word [esi]
lea esi, [ecx*8]
sub esi, ecx
mov ecx, dword [ebx + 0x1be0]
lea esi, [ecx + esi*4]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x1c]
xor ecx, ecx
lea edi, [eax + 0x1c]
add eax, 0x54
mov cx, word [esi + 2]
lea esi, [ecx*8]
sub esi, ecx
mov ecx, dword [ebx + 0x1be0]
lea esi, [ecx + esi*4]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
fadd dword [eax - 0x70]
fadd dword [eax - 0x38]
fadd dword [eax - 0x54]
fxch st(2)
fld dword [eax - 0x34]
fadd dword [eax - 0x6c]
fadd dword [eax - 0x50]
mov edi, dword [esp + 0x2c]
lea ecx, [ebp + 1]
lea esi, [ebp + 2]
dec edi
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [eax - 0x30]
fadd dword [eax - 0x68]
fadd dword [eax - 0x4c]
fadd dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [eax - 0x24]
fadd dword [eax - 0x40]
fadd dword [eax - 0x5c]
faddp st(2)
fld dword [eax - 0x20]
fadd dword [eax - 0x3c]
fadd dword [eax - 0x58]
mov word [edx - 0x1c], bp
mov word [edx - 0x1a], cx
mov word [edx - 0x18], si
mov word [edx - 0x16], cx
mov word [edx - 0x14], bp
mov word [edx - 0x12], di
mov word [edx - 0x10], si
mov word [edx - 0xe], cx
mov ecx, dword [esp + 0x50]
mov word [edx - 0xc], di
mov word [edx - 0xa], bp
mov word [edx - 8], si
mov word [edx - 6], di
mov edi, dword [esp + 0x1c]
mov esi, dword [ebx + 0x1cac]
inc ecx
add ebp, 3
add edi, 6
cmp ecx, esi
mov dword [esp + 0x50], ecx
faddp st(1)
mov dword [esp + 0x1c], edi
jl 0x4ed652
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x2c]
lea ecx, [esi - 1]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
lea ebp, [ecx*8]
sub ebp, ecx
fdivr dword [0x58d5d4]
lea ecx, [eax + ebp*4]
test esi, esi
fld st(0)
fmul st(4)
fld st(1)
fmul dword [esp + 0x24]
fstp dword [esp + 0x44]
fld st(1)
fmul dword [esp + 0x28]
fstp dword [esp + 0x48]
fld dword [ebx + 0x1cb0]
fmul dword [ebx + 0x173c]
fsubr st(1)
fstp dword [ecx]
fstp st(0)
fld dword [ebx + 0x1cb4]
fmul dword [ebx + 0x173c]
fsubr dword [esp + 0x44]
fstp dword [ecx + 4]
fld dword [ebx + 0x1cb8]
fmul dword [ebx + 0x173c]
fsubr dword [esp + 0x48]
fstp dword [ecx + 8]
fld st(0)
fmul st(3)
fstp dword [ecx + 0x14]
fmul st(1)
fstp dword [ecx + 0x18]
mov ebp, dword [eax + 0xc]
fstp st(0)
fstp st(0)
fild dword [esp + 0x2c]
mov dword [ecx + 0xc], ebp
mov ebp, dword [eax + 0x10]
mov dword [ecx + 0x10], ebp
fdivr dword [0x58d5d4]
fstp dword [esp + 0x2c]
fadd dword [ecx]
fmul dword [esp + 0x2c]
fstp dword [esp + 0x40]
fld dword [esp + 0x24]
fadd dword [ecx + 4]
fmul dword [esp + 0x2c]
fstp dword [esp + 0x44]
fld dword [esp + 0x28]
fadd dword [ecx + 8]
fmul dword [esp + 0x2c]
fstp dword [esp + 0x48]
jle 0x4ed869
lea ecx, [eax + 8]
mov ebp, esi
fld dword [ecx - 8]
fsub dword [esp + 0x40]
add ecx, 0x1c
dec ebp
fstp dword [ecx - 0x24]
fld dword [ecx - 0x20]
fsub dword [esp + 0x44]
fstp dword [ecx - 0x20]
fld dword [ecx - 0x1c]
fsub dword [esp + 0x48]
fstp dword [ecx - 0x1c]
jne 0x4ed845
mov ebp, dword [ebx + 0x1bc4]
mov ecx, dword [ebx + 0x1bd0]
add ebp, esi
add ecx, edi
mov dword [esp + 0xcc], edi
mov dword [ebx + 0x1bc4], ebp
mov dword [ebx + 0x1bd0], ecx
mov ecx, dword [ebx + 0x1bdc]
mov dword [esp + 0xd8], edx
mov edx, dword [0x5ce824]
xor edi, edi
mov dword [esp + 0xd4], eax
mov eax, dword [0x5ce82c]
push edi
push edx
push edi
push eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xd8], esi
call fcn.005758c0
mov esi, dword [0x5ce828]
push edi
push esi
push edx
push eax
call fcn.00575800
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
fild qword [esp + 0x10]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
push ecx
lea ecx, [esp + 0x13c]
fidiv dword [esp + 0x14]
mov dword [0x5ce82c], eax
fmul dword [0x59443c]
fsub dword [0x58dff4]
fstp dword [esp]
push ecx
call fcn.004ab8f0
mov edx, dword [0x5ce824]
add esp, 8
xor ebp, ebp
mov esi, eax
mov eax, dword [0x5ce82c]
push ebp
mov ecx, 0x10
lea edi, [esp + 0x188]
push edx
push ebp
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.005758c0
mov esi, dword [0x5ce828]
push ebp
push esi
push edx
push eax
call fcn.00575800
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
fild qword [esp + 0x10]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
push ecx
lea ecx, [esp + 0xe4]
fidiv dword [esp + 0x14]
mov dword [0x5ce82c], eax
fmul dword [0x59443c]
fsub dword [0x58dff4]
fstp dword [esp]
push ecx
call fcn.004ab7d0
mov ecx, 0x10
mov esi, eax
lea edi, [esp + 0x140]
add esp, 8
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0xe0]
rep stosd dword es:[edi], eax
xor edi, edi
lea esi, [esp + 0x184]
lea ebp, [esp + edi + 0xe0]
mov dword [esp + 0x3c], 4
fld dword [ebp]
lea ecx, [esp + edi + 0x138]
mov eax, esi
mov edx, 4
fld dword [ecx]
fmul dword [eax]
add eax, 0x10
add ecx, 4
dec edx
faddp st(1)
jne 0x4ed9cb
fstp dword [ebp]
mov eax, dword [esp + 0x3c]
add ebp, 4
add esi, 4
dec eax
mov dword [esp + 0x3c], eax
jne 0x4ed9ba
add edi, 0x10
cmp edi, 0x40
jl 0x4ed9a4
fld dword [esp + 0x40]
fsub dword [ebx + 0x17a4]
fld dword [esp + 0x44]
fsub dword [ebx + 0x17a8]
fstp dword [esp + 0x24]
fld dword [esp + 0x48]
fsub dword [ebx + 0x17ac]
fstp dword [esp + 0x28]
fld st(0)
fmul st(1)
fld dword [esp + 0x28]
fmul dword [esp + 0x28]
faddp st(1)
fld dword [esp + 0x24]
fmul dword [esp + 0x24]
faddp st(1)
fsqrt
fst dword [esp + 0x1c]
fcomp qword [0x58dc98]
fnstsw ax
test ah, 1
je 0x4eda95
fld dword [esp + 0x1c]
fcomp qword [0x58dc90]
fnstsw ax
test ah, 0x41
jne 0x4eda95
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], 0
mov edx, dword [esp + 0x20]
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x28]
fstp st(0)
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
jmp 0x4edac9
fld dword [esp + 0x4c]
fld dword [esp + 0x3c]
jmp 0x4ed77d
fdiv dword [esp + 0x1c]
fstp dword [esp + 0x30]
fld dword [esp + 0x24]
fdiv dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x10], edx
fstp dword [esp + 0x34]
fld dword [esp + 0x28]
fdiv dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
fstp dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
fld dword [esp + 0xe0]
fmul dword [esp + 0x10]
fld dword [esp + 0xf0]
fmul dword [esp + 0x14]
mov dword [esp + 0x18], ecx
xor ebp, ebp
push ebp
faddp st(1)
fld dword [esp + 0x104]
fmul dword [esp + 0x1c]
faddp st(1)
fadd dword [esp + 0x114]
fld dword [esp + 0x108]
fmul dword [esp + 0x1c]
fld dword [esp + 0x14]
fmul dword [esp + 0xe8]
faddp st(1)
fld dword [esp + 0x18]
fmul dword [esp + 0xf8]
faddp st(1)
fadd dword [esp + 0x118]
fstp dword [esp + 0x28]
fld dword [esp + 0x14]
fmul dword [esp + 0xec]
fld dword [esp + 0x18]
fmul dword [esp + 0xfc]
faddp st(1)
fld dword [esp + 0x1c]
fmul dword [esp + 0x10c]
faddp st(1)
fadd dword [esp + 0x11c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x14]
fmul dword [esp + 0xf0]
fld dword [esp + 0x18]
fmul dword [esp + 0x100]
faddp st(1)
fld dword [esp + 0x1c]
fmul dword [esp + 0x110]
faddp st(1)
fadd dword [esp + 0x120]
fdivr dword [0x58d5d4]
fst dword [esp + 0x30]
fmul st(1)
fstp dword [esp + 0x24]
mov edx, dword [esp + 0x24]
fstp st(0)
fld dword [esp + 0x30]
fmul dword [esp + 0x28]
mov dword [esp + 0x90], edx
mov edx, dword [ebx + 0x1704]
mov dword [esp + 0x40], edx
fstp dword [esp + 0x28]
fld dword [esp + 0x30]
fmul dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x94], eax
mov eax, dword [0x5ce824]
push eax
push ebp
fstp dword [esp + 0x34]
fld dword [ebx + 0x1708]
fmul dword [ebx + 0x1704]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xa0], ecx
mov ecx, dword [0x5ce82c]
fmul dword [0x58f208]
push ecx
fstp dword [esp + 0x5c]
fld dword [esp + 0x4c]
fsub dword [esp + 0x5c]
fstp dword [esp + 0x60]
call fcn.005758c0
mov esi, dword [0x5ce828]
push ebp
push esi
push edx
push eax
call fcn.00575800
mov dword [0x5ce82c], eax
fld dword [esp + 0x3c]
fadd dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
fsub dword [esp + 0x50]
fild qword [esp + 0x10]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
fidiv dword [esp + 0x10]
fmulp st(1)
fadd dword [esp + 0x50]
fmul dword [ebx + 0x120]
fld dword [esp + 0x20]
fmul st(1)
fstp dword [esp + 0x30]
fld dword [esp + 0x24]
fmul st(1)
mov edx, dword [esp + 0x30]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x40]
fstp dword [esp + 0x34]
fld dword [esp + 0x28]
fmul st(1)
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], edx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x44]
fstp dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x6c], eax
fstp st(0)
fild dword [ebx + 0x1700]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x48]
push ecx
mov dword [esp + 0x74], ecx
fidiv dword [ebx + 0x16fc]
fld st(0)
fadd dword [0x58d5d4]
fstp dword [esp]
fld dword [0x58d5d4]
fsub st(1)
push ecx
fstp dword [esp]
fstp st(0)
call fcn.004a9ce0
fild dword [ebx + 0x16fc]
fmul st(1)
call sub.MSVCRT.dll__ftol
fstp st(0)
fld dword [ebx + 0x1714]
fmul dword [ebx + 0x1710]
add esp, 4
mov dword [esp + 0x7c], eax
fmul dword [0x58f208]
fld dword [ebx + 0x1710]
fld st(0)
fadd st(2)
fstp dword [esp]
push ecx
fsub st(1)
fstp dword [esp]
fstp st(0)
call fcn.004a9ce0
fmul dword [ebx + 0x11c]
add esp, 8
mov ecx, ebx
fstp dword [esp + 0xb8]
call fcn.004d8380
mov ecx, ebx
mov dword [esp + 0xb0], eax
call fcn.004d8420
fstp dword [esp + 0xb4]
lea edx, [esp + 0x8c]
push edx
lea eax, [esp + 0x58]
mov ecx, ebx
push eax
call fcn.004d84c0
mov ecx, dword [eax]
mov dword [esp + 0xa4], ecx
mov ecx, ebx
mov edx, dword [eax + 4]
mov dword [esp + 0xa8], edx
mov eax, dword [eax + 8]
mov dword [esp + 0xac], eax
call fcn.004d89e0
fstp dword [esp + 0xc4]
mov ecx, ebx
call fcn.004d8940
mov ecx, ebx
mov dword [esp + 0xc0], eax
call fcn.004d88a0
fst dword [esp + 0xbc]
fcomp dword [0x58ddb8]
fnstsw ax
test ah, 0x40
jne 0x4edfcd
fld dword [esp + 0x8c]
fcomp dword [0x58ddb8]
fnstsw ax
test ah, 0x40
je 0x4eddfd
fld dword [esp + 0x90]
fcomp dword [0x58d5d4]
fnstsw ax
test ah, 0x40
je 0x4eddfd
fld dword [esp + 0x94]
fcomp dword [0x58ddb8]
fnstsw ax
test ah, 0x40
je 0x4eddfd
push ebp
push ebp
push 0x3f800000
lea ecx, [esp + 0x60]
jmp 0x4ede08
push ebp
push 0x3f800000
push ebp
lea ecx, [esp + 0x60]
call fcn.0040cf40
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x10]
mov edx, dword [eax + 4]
push ecx
mov dword [esp + 0x18], edx
lea edx, [esp + 0x90]
mov eax, dword [eax + 8]
push edx
mov dword [esp + 0x20], eax
lea eax, [esp + 0x5c]
push eax
call fcn.004d80b0
lea ecx, [esp + 0x12c]
push eax
push ecx
call fcn.0045fa00
mov edx, dword [eax]
mov dword [esp + 0x44], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x48], ecx
lea ecx, [esp + 0x44]
mov edx, dword [eax + 8]
lea eax, [esp + 0xa0]
mov dword [esp + 0x4c], edx
push eax
lea edx, [esp + 0x138]
push ecx
push edx
call fcn.004d80b0
push eax
lea eax, [esp + 0x78]
push eax
call fcn.0045fa00
mov ecx, dword [eax]
push 0x40c90fdb
mov dword [esp + 0x4c], ecx
push ebp
mov edx, dword [eax + 4]
mov dword [esp + 0x54], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x58], eax
call fcn.004a9ce0
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0xbc]
add esp, 0x2c
mov eax, dword [esp + 0x94]
sub esp, 0xc
mov ecx, esp
sub esp, 0xc
mov dword [ecx], edx
mov edx, dword [esp + 0xb0]
mov dword [ecx + 4], eax
mov eax, esp
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov dword [eax], ecx
mov ecx, dword [esp + 0x8c]
mov dword [eax + 4], edx
lea edx, [esp + 0x154]
push edx
mov dword [eax + 8], ecx
call fcn.004abb60
mov ecx, 0x10
mov esi, eax
lea edi, [esp + 0x158]
lea eax, [esp + 0x74]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x10
lea esi, [esp + 0x158]
lea edi, [esp + 0x100]
push eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x104]
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
push ecx
lea edx, [esp + 0x148]
push edx
call fcn.004a9c20
add esp, 0x2c
lea ecx, [esp + 0xe0]
lea edx, [esp + 0x178]
push eax
lea eax, [esp + 0x24]
push eax
push ecx
push edx
call fcn.004a9c20
add esp, 0xc
push eax
lea eax, [esp + 0x134]
push eax
call fcn.0045f890
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xc8]
mov edx, dword [eax + 4]
push ecx
mov dword [esp + 0x34], edx
lea edx, [esp + 0x30]
mov eax, dword [eax + 8]
push edx
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x140]
push eax
call fcn.004611b0
mov ecx, dword [eax]
add esp, 0x18
mov dword [esp + 0x98], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x9c], edx
mov eax, dword [eax + 8]
mov dword [esp + 0xa0], eax
mov ecx, dword [0x5ce824]
mov edx, dword [0x5ce82c]
push ebp
push ecx
push ebp
push edx
call fcn.005758c0
mov ecx, dword [0x5ce828]
push ebp
push ecx
push edx
push eax
call fcn.00575800
xor edx, edx
mov ecx, 0x64
mov dword [0x5ce82c], eax
div ecx
cmp edx, ecx
jae 0x4ee17c
cmp dword [ebx + 0x1bb8], 1
jge 0x4ee17c
lea edx, [ebx + 8]
push str.nosmoke_
push edx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
jne 0x4ee17c
mov edi, dword [ebx + 0x1bb8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x110]
push ebp
inc edi
sub esp, 0xc
mov dword [ebx + 0x1bb8], edi
mov ecx, dword [eax + 0x764]
mov eax, dword [esp + 0x40]
mov edx, esp
mov dword [esp + 0x44], 0x3f800000
sub esp, 0xc
mov dword [edx], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x44], 0x3f800000
mov ecx, dword [ecx + 0x4c]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x54]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x3c]
mov edx, esp
sub esp, 0xc
mov dword [edx], eax
mov eax, dword [esp + 0x4c]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x50]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x38]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x3c]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x40]
mov dword [edx + 8], eax
lea edx, [esp + 0x44]
push edx
push ebp
push ebp
push ebp
push str.SmokeTail.gfx
call fcn.004c2ce0
test al, al
jne 0x4ee0e3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b4
ret
mov eax, dword [ebx + 0x110]
mov edx, dword [esp + 0x1c]
push edx
mov ecx, dword [eax + 0x764]
mov ecx, dword [ecx + 0x4c]
call fcn.004c33e0
test al, al
jne 0x4ee10b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b4
ret
sub esp, 0xc
mov dword [esp + 0x3c], 0
mov ecx, dword [esp + 0x3c]
mov eax, esp
mov dword [esp + 0x40], 0x3f800000
mov edx, dword [esp + 0x40]
mov dword [eax], ecx
mov dword [esp + 0x44], 0
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x28]
call fcn.004c1cb0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
sub esp, 0xc
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x54]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x28]
mov dword [edx + 8], eax
call fcn.004c1bb0
mov ecx, dword [esp + 0x1c]
push ebp
call fcn.004c0eb0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xdc], ecx
mov eax, dword [ebx + 0x220]
mov ecx, dword [ebx + 0x224]
cmp eax, ecx
jge 0x4ee1b8
mov ecx, dword [ebx + 0x218]
mov edx, dword [ebx + 0x21c]
mov edi, ecx
lea esi, [esp + 0x68]
imul edi, eax
add edi, edx
mov edx, ecx
inc eax
shr ecx, 2
mov dword [ebx + 0x220], eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebx + 0x1cac], ebp
mov dword [ebx + 0x1ca8], ebp
mov dword [ebx + 0x1cbc], ebp
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b4
ret
mov eax, dword [0x5e062c]
push str.A3DPArray::EmitOneFragment___buffer_overflow_
push eax
fstp st(0)
call fcn.004c6d70
add esp, 8
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b4
ret