Function at 0x441ca0
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
mov eax, dword [0x4ba54c]
push ebx
xor ebx, ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], eax
mov dword [0x4ba54c], ebx
mov dword [esp + 0x1c], 1
mov dword [esp + 0x2c], 0xffffffff
mov byte [esp + 0xe], 0xa
mov byte [0x4ba54a], bl
mov byte [0x4ba30f], bl
mov byte [0x4ba30e], bl
mov dword [0x4ba550], ebx
mov byte [esp + 0x13], bl
mov byte [esp + 0x10], bl
mov byte [esp + 0x11], bl
mov byte [esp + 0x14], bl
mov byte [esp + 0xf], bl
mov byte [esp + 0x12], bl
cmp byte [esi], bl
je 0x441e90
movsx ecx, byte [esi]
push ecx
call fcn.00494806
add eax, 0xffffffbd
add esp, 4
cmp eax, 0x19
ja case.0x441d2f.69
movzx edx, byte [eax + 0x44286c]
jmp dword [edx*4 + 0x442844]
movzx edi, byte [esi + 1]
test edi, 0xffffff80
jne 0x441d54
push 2
push edi
call fcn.0049303e
add esp, 8
cmp eax, ebx
je 0x441d54
and edi, 0xffffffdf
mov eax, edi
cmp al, 0x4c
jne 0x441d67
inc esi
mov byte [0x4ba54a], 2
jmp case.0x441d2f.69
mov byte [0x4ba54a], 1
jmp case.0x441d2f.69
cmp byte [esi + 1], 0
je case.0x441d2f.69
mov al, byte [esi + 1]
inc esi
test al, al
je case.0x441d2f.69
mov byte [esp + 0xe], al
jmp case.0x441d2f.69
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je case.0x441d2f.70
cmp al, 9
je case.0x441d2f.70
mov edi, 0x4a80dc
mov eax, esi
call fcn.0040a290
mov edi, eax
cmp edi, ebx
jne 0x441dc1
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x441db5
sub eax, edx
lea edi, [esi + eax]
push ebx
mov eax, edi
sub eax, esi
push eax
push esi
mov ecx, 0x4bd7e0
call fcn.00423260
mov ecx, eax
mov dword [0x4ba54c], ecx
cmp ecx, ebx
je 0x44278f
cmp byte [ecx + 0x51], 0
jne 0x44278f
mov eax, dword [ecx + 0x10]
cmp eax, 2
jl 0x44278f
cmp eax, 3
jg 0x44278f
mov eax, dword [ecx + 0xc]
cmp word [eax + 4], 0
jne 0x44278f
cmp word [eax + 0x14], 0
jne 0x44278f
lea esi, [edi - 1]
xor ebx, ebx
jmp case.0x441d2f.69
mov byte [0x4ba30f], 1
jmp case.0x441d2f.69
lea ecx, [esi + 1]
push ecx
call fcn.00493086
add esp, 4
cmp eax, 1
jge 0x441e40
mov eax, 1
dec eax
mov dword [0x4ba550], eax
jmp case.0x441d2f.69
push 6
push str.Random
push esi
call fcn.004924d0
add esp, 0xc
test eax, eax
jne 0x441e66
mov byte [esp + 0xf], 1
add esi, 5
jmp case.0x441d2f.69
mov byte [0x4ba30e], 1
jmp case.0x441d2f.69
mov byte [esp + 0x12], 1
mov dword [esp + 0x2c], ebx
jmp case.0x441d2f.69
mov byte [esp + 0x13], 1
jmp case.0x441d2f.69
mov byte [esp + 0x14], 1
inc esi
cmp byte [esi], 0
jne 0x441d10
mov edx, dword [ebp + 0xc]
mov cl, byte [edx]
test cl, cl
je 0x44278f
mov edx, dword [0x4bb6f8]
mov al, byte [edx + 0x17]
mov dword [esp + 0x18], edx
test al, al
jne 0x441eb4
mov eax, dword [edx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 2
ja 0x44278f
mov eax, dword [ebp + 0xc]
mov ebx, 1
cmp cl, byte [esp + 0xe]
jne 0x441ecb
inc ebx
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x441ec4
mov esi, dword [ebp + 0xc]
mov edi, eax
sub edi, esi
mov dword [esp + 0x28], edi
cmp byte [esp + 0x13], cl
jne 0x441ef4
cmp eax, esi
jbe 0x441ef4
mov cl, byte [eax - 1]
cmp cl, byte [esp + 0xe]
jne 0x441ef4
dec ebx
jmp 0x441f19
cmp byte [esp + 0xe], 0xa
jne 0x441f1e
push 0xa
push esi
call fcn.00492af1
add esp, 8
test eax, eax
je 0x441f1e
cmp eax, esi
jbe 0x441f1e
cmp byte [eax - 1], 0xd
jne 0x441f1e
mov byte [esp + 0x11], 1
mov byte [esp + 0x10], 1
cmp ebx, 1
jne 0x441f3b
mov edx, dword [esp + 0x18]
push ebx
push 0
push edi
push esi
push edx
call fcn.00481890
mov dword [esp + 0x1c], eax
jmp 0x44278f
cmp dword [0x4ba54c], 0
jne 0x441f4b
cmp byte [esp + 0x11], 0
je 0x441fb3
lea eax, [edi + 3]
push eax
call fcn.00491c09
mov esi, eax
add esp, 4
mov dword [esp + 0x38], esi
test esi, esi
jne 0x441f7d
mov ecx, dword [ebp + 8]
push 0x4a6869
push eax
push str.Out_of_memory.
call fcn.00432e00
mov dword [esp + 0x1c], eax
jmp 0x44278f
mov edx, dword [ebp + 0xc]
lea ecx, [edi + 1]
push ecx
push edx
push esi
call fcn.0049b8f0
add esp, 0xc
cmp byte [esp + 0x11], 0
mov dword [ebp + 0xc], esi
je 0x441fb3
mov ax, word [0x4ae4fc]
mov word [edi + esi], ax
mov cl, byte [0x4ae4fe]
mov byte [edi + esi + 2], cl
add edi, 2
mov dword [esp + 0x28], edi
xor eax, eax
cmp byte [esp + 0xf], al
setne al
inc ebx
inc eax
add eax, eax
add eax, eax
imul ebx, eax
push ebx
mov dword [esp + 0x24], eax
call fcn.00491c09
mov ebx, eax
add esp, 4
mov dword [esp + 0x34], ebx
test ebx, ebx
jne 0x441ff8
mov ecx, dword [ebp + 8]
push 0x4a6869
push eax
push str.Out_of_memory.
call fcn.00432e00
mov dword [esp + 0x1c], eax
jmp 0x44278f
mov esi, dword [ebp + 0xc]
mov dword [ebx], esi
cmp byte [esi], 0
mov edi, ebx
mov dword [esp + 0x1c], 0
mov edx, 1
je 0x442087
mov al, byte [esi]
cmp al, byte [esp + 0xe]
jne 0x442080
add dword [esp + 0x1c], edx
cmp byte [esp + 0xf], 0
mov byte [esi], 0
je 0x442077
sub dword [0x4b7394], edx
jne 0x442039
call fcn.00416ab0
mov edx, 1
mov ecx, dword [0x4ba6a4]
mov eax, dword [ecx]
add ecx, 4
mov dword [0x4ba6a4], ecx
mov ecx, eax
shr ecx, 0xb
xor eax, ecx
mov ecx, eax
and ecx, 0xff3a58ad
shl ecx, 7
xor eax, ecx
mov ecx, eax
and ecx, 0xffffdf8c
shl ecx, 0xf
xor eax, ecx
mov ecx, eax
shr ecx, 0x12
xor ecx, eax
shr ecx, 1
mov dword [edi + 4], ecx
add edi, dword [esp + 0x20]
lea eax, [esi + 1]
mov dword [edi], eax
add esi, edx
cmp byte [esi], 0
jne 0x442011
cmp byte [esp + 0x10], 0
jne 0x4420e4
add dword [esp + 0x1c], edx
cmp byte [esp + 0xf], 0
je 0x4420e4
sub dword [0x4b7394], edx
jne 0x4420a6
call fcn.00416ab0
mov ecx, dword [0x4ba6a4]
mov eax, dword [ecx]
add ecx, 4
mov dword [0x4ba6a4], ecx
mov ecx, eax
shr ecx, 0xb
xor eax, ecx
mov edx, eax
and edx, 0xff3a58ad
shl edx, 7
xor eax, edx
mov ecx, eax
and ecx, 0xffffdf8c
shl ecx, 0xf
xor eax, ecx
mov edx, eax
shr edx, 0x12
xor edx, eax
shr edx, 1
mov dword [edi + 4], edx
cmp dword [0x4ba54c], 0
je 0x4420fe
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push 0x441b00
push eax
push ecx
jmp 0x442132
cmp byte [esp + 0xf], 0
je 0x442116
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push 0x441af0
push edx
push eax
jmp 0x442132
cmp byte [esp + 0x14], 0
mov eax, 0x441a80
jne 0x442127
mov eax, 0x441950
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push eax
push ecx
push edx
push ebx
call fcn.00492cf0
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
mov al, byte [esi + 0x17]
add esp, 0x10
mov ebx, edi
mov dword [esp + 0x28], ebx
test al, al
jne 0x442162
mov eax, dword [esi + 0xc]
push 1
push 0
push edi
push 0
push eax
call fcn.00481890
jmp 0x4421cc
mov byte [esp + 0xf], 1
mov cl, 1
cmp edi, 0xffffffff
jne 0x442178
xor cl, cl
xor ebx, ebx
mov dword [esp + 0x28], ebx
jmp 0x44217d
mov byte [esp + 0xf], 0
lea edi, [ebx + 1]
cmp al, 2
jne 0x4421ab
cmp byte [esp + 0xf], 0
je 0x442199
push 0x4a6869
mov eax, ebx
call fcn.00403ee0
jmp 0x4421cc
mov esi, 0x4bd7c4
call fcn.00403f60
neg eax
sbb eax, eax
neg eax
jmp 0x4421cc
cmp edi, dword [0x4b73d0]
jbe 0x4421e2
cmp edi, dword [esi + 0x10]
jbe 0x4421e2
push 0x4a6869
push 0x4af3e0
mov ecx, 0x4bd7e0
call fcn.004330b0
cmp eax, 1
je 0x4423e4
mov dword [esp + 0x1c], 0
jmp 0x44278f
cmp edi, 2
jae 0x442200
xor edx, edx
test cl, cl
setne dl
xor al, al
mov ecx, esi
add edx, 2
push edx
call fcn.00481e30
jmp 0x4423e8
mov al, byte [esi + 0x15]
test al, 2
je 0x442216
and al, 0x3d
mov byte [esi + 0x15], al
mov eax, dword [esi]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov edx, dword [esi + 0x10]
and byte [esi + 0x15], 0x82
mov dword [esp + 0x30], edx
cmp edi, edx
jbe 0x442250
mov cl, byte [esi + 0x14]
cmp cl, 1
jbe 0x442283
cmp cl, 2
je 0x4422bb
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
and byte [ecx + 0x15], 0x7f
mov dword [ecx + 0x10], esi
mov esi, dword [esp + 0x18]
mov dword [ecx + 8], eax
cmp byte [esp + 0xf], 0
je 0x4423d9
mov eax, dword [esi + 8]
cmp eax, 0x4a6869
je 0x442274
push ebx
push 0x4a6869
push eax
call fcn.004926e0
add esp, 0xc
mov eax, dword [esi + 8]
mov byte [ebx + eax], 0
mov dword [esi + 0xc], ebx
jmp 0x4423e8
cmp edi, 0x40
ja 0x4422bb
cmp edi, 4
ja 0x442294
mov esi, 4
jmp 0x4422a2
mov eax, 8
cmp eax, edi
sbb esi, esi
and esi, 0x38
add esi, eax
mov eax, esi
call fcn.0047b180
test eax, eax
je 0x4421d5
mov ecx, dword [esp + 0x18]
mov byte [ecx + 0x14], 1
jmp 0x442242
cmp edi, 0x10
jae 0x4422ca
mov esi, 0x10
jmp 0x44234f
cmp edi, 0x104
jae 0x4422d9
mov esi, 0x104
jmp 0x44234f
cmp edi, 0x28000
jae 0x44231d
mov dword [esp + 0x30], edi
fild dword [esp + 0x30]
test edi, edi
jns 0x4422f3
fadd qword [0x4b0c38]
fmul qword [0x4b0c40]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x30], eax
fldcw word [esp + 0x30]
fistp qword [esp + 0x50]
mov esi, dword [esp + 0x50]
fldcw word [esp + 0x14]
jmp 0x44234f
cmp edi, 0x190000
jae 0x44232d
lea esi, [edi + 0x4000]
jmp 0x44234f
cmp edi, 0x640000
jae 0x442349
mov eax, 0x51eb851f
mul edi
mov esi, edx
mov edx, dword [esp + 0x30]
shr esi, 5
add esi, edi
jmp 0x44234f
lea esi, [edi + 0x10000]
mov eax, dword [0x4b73d0]
cmp esi, eax
jbe 0x44235a
mov esi, eax
cmp cl, 2
jne 0x442399
test edx, edx
je 0x442399
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 8]
push edx
mov bl, 1
call fcn.00491a68
add esp, 4
xor edi, edi
cmp esi, edi
jl 0x44239d
push esi
call fcn.00491c09
add esp, 4
cmp eax, edi
je 0x44239d
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov byte [ecx + 0x14], 2
jmp 0x442242
xor bl, bl
jmp 0x442375
mov eax, dword [esp + 0x18]
test bl, bl
je 0x4423c1
push 0x4a6869
mov dword [eax + 0x10], edi
mov dword [eax + 8], 0x4bd07e
mov dword [eax + 0xc], edi
push str.Out_of_memory.
jmp 0x4421c2
mov edx, dword [eax + 8]
push 0x4a6869
mov byte [edx], 0
mov dword [eax + 0xc], edi
push str.Out_of_memory.
jmp 0x4421c2
mov ecx, dword [esi + 8]
mov byte [ecx], 0
mov dword [esi + 0xc], ebx
jmp 0x4423e8
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x34]
xor ebx, ebx
dec edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], edi
cmp byte [esi + 0x17], bl
jne 0x44240d
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0xc]
jmp 0x442411
mov esi, dword [esp + 0x18]
test byte [esi + 0x15], 8
je 0x44241e
mov eax, esi
call fcn.00401150
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x442437
test byte [esi + 0x15], 4
je 0x442432
mov eax, esi
call fcn.00433620
mov esi, dword [esi + 8]
jmp 0x442487
cmp al, 2
jne 0x442482
mov esi, dword [0x4bd7d0]
test esi, esi
jne 0x442487
mov esi, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
push 1
call esi
test eax, eax
jne 0x442469
push 0xf
call esi
test eax, eax
je 0x442462
mov esi, 0x4a6864
jmp 0x442487
mov esi, 0x4a6869
jmp 0x442487
xor ecx, ecx
call fcn.00403d10
mov esi, 0x4a6869
cmp eax, 0xffffffff
je 0x442487
mov esi, dword [0x4bd7cc]
jmp 0x442487
mov esi, 0x4bd07e
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x1c], ebx
jbe 0x442570
cmp byte [esp + 0x12], 0
je 0x4425e0
test ebx, ebx
je 0x4425e0
cmp byte [0x4ba30f], 0
je 0x4425a5
cmp dword [0x4ba550], 0
jne 0x4425a5
mov ecx, dword [esp + 0x24]
mov edi, dword [ecx]
mov eax, edi
call fcn.0040dbe0
test al, al
je 0x4424ee
push 0x10
push 0
push edi
call fcn.004936cb
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
fild qword [esp + 0x4c]
add esp, 0xc
jmp 0x4424f7
push edi
call fcn.00493d25
add esp, 4
mov eax, ebx
fstp qword [esp + 0x50]
call fcn.0040dbe0
test al, al
je 0x442521
push 0x10
push 0
push ebx
call fcn.004936cb
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
fild qword [esp + 0x54]
add esp, 0xc
jmp 0x44252a
push ebx
call fcn.00493d25
add esp, 4
fld qword [esp + 0x50]
fucompp
fnstsw ax
test ah, 0x44
jp 0x4425e0
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
inc dword [esp + 0x28]
cmp edx, dword [esp + 0x30]
jne 0x442555
cmp byte [esp + 0x10], 0
jne 0x442555
dec esi
mov eax, dword [esp + 0x14]
add edi, dword [esp + 0x20]
inc eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], edi
cmp eax, dword [esp + 0x1c]
jb 0x442495
mov eax, dword [esp + 0x34]
push eax
call fcn.00491a68
mov edi, dword [esp + 0x1c]
add esp, 4
cmp byte [esp + 0x11], 0
je 0x442676
cmp byte [esi - 2], 0xd
jne 0x442641
mov byte [esi - 2], 0
cmp byte [edi + 0x17], 0
jne 0x442619
mov esi, dword [edi + 0xc]
jmp 0x44261b
mov al, byte [0x4ba54a]
push ebx
test al, al
jne 0x4425b9
mov eax, dword [edi]
push eax
call fcn.00491a51
jmp 0x4425d0
cmp al, 2
jne 0x4425c8
mov edx, dword [edi]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x4425d3
mov eax, dword [edi]
push eax
call fcn.00491ba1
add esp, 8
test eax, eax
setne al
test al, al
je 0x44253f
mov edi, dword [esp + 0x24]
mov ecx, dword [edi]
mov al, byte [ecx]
test al, al
je 0x4425fa
lea esp, [esp]
inc ecx
mov byte [esi], al
mov al, byte [ecx]
inc esi
test al, al
jne 0x4425f0
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x30]
jb 0x44260b
cmp byte [esp + 0x10], 0
je 0x442612
mov cl, byte [esp + 0xe]
mov byte [esi], cl
inc esi
mov ebx, dword [edi]
jmp 0x442555
mov esi, edi
cmp byte [esi + 0x17], 1
jne 0x442637
test byte [esi + 0x15], 8
je 0x44262e
mov eax, esi
call fcn.00401150
add dword [esi + 0xc], 0xfffffffe
lea eax, [esi + 0xc]
jmp 0x442679
mov eax, 0x4bdf44
add dword [eax], 0xfffffffe
jmp 0x442679
mov byte [esi - 1], 0
cmp byte [edi + 0x17], 0
jne 0x442650
mov esi, dword [edi + 0xc]
jmp 0x442652
mov esi, edi
cmp byte [esi + 0x17], 1
jne 0x44266d
test byte [esi + 0x15], 8
je 0x442665
mov eax, esi
call fcn.00401150
dec dword [esi + 0xc]
lea eax, [esi + 0xc]
jmp 0x442679
mov eax, 0x4bdf44
dec dword [eax]
jmp 0x442679
mov byte [esi], 0
cmp byte [esp + 0x12], 0
je 0x442755
cmp dword [esp + 0x28], 0
je 0x442755
cmp byte [edi + 0x17], 0
jne 0x44269a
mov esi, dword [edi + 0xc]
jmp 0x44269c
mov esi, edi
test byte [esi + 0x15], 8
je 0x4426a9
mov eax, esi
call fcn.00401150
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x4426c2
test byte [esi + 0x15], 4
je 0x4426bd
mov eax, esi
call fcn.00433620
mov eax, dword [esi + 8]
jmp 0x442710
cmp al, 2
jne 0x44270b
mov eax, dword [0x4bd7d0]
test eax, eax
jne 0x442710
mov esi, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
push 1
call esi
test eax, eax
jne 0x4426f3
push 0xf
call esi
test eax, eax
je 0x4426ec
mov eax, 0x4a6864
jmp 0x442710
mov eax, 0x4a6869
jmp 0x442710
xor ecx, ecx
call fcn.00403d10
cmp eax, 0xffffffff
mov eax, 0x4a6869
je 0x442710
mov eax, dword [0x4bd7cc]
jmp 0x442710
mov eax, 0x4bd07e
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x442713
mov esi, dword [esp + 0x18]
sub eax, edx
mov edi, eax
cmp byte [esi + 0x17], cl
jne 0x44272a
mov esi, dword [esi + 0xc]
cmp byte [esi + 0x17], 1
jne 0x442742
test byte [esi + 0x15], 8
je 0x44273d
mov eax, esi
call fcn.00401150
lea eax, [esi + 0xc]
jmp 0x442747
mov eax, 0x4bdf44
mov ecx, dword [esp + 0x28]
mov dword [eax], edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
cmp byte [edi + 0x17], 0
jne 0x442760
mov eax, dword [edi + 0xc]
jmp 0x442762
mov eax, edi
cmp byte [eax + 0x17], 2
jne 0x442783
cmp dword [0x4bd7d0], 0
je 0x442783
push 1
mov ecx, 0x4bd7c4
call fcn.00403fd0
mov dword [esp + 0x1c], eax
jmp 0x44278f
and byte [eax + 0x15], 0x86
mov dword [esp + 0x1c], 1
mov edi, dword [esp + 0x2c]
cmp edi, 0xffffffff
je 0x442804
mov esi, dword [0x4bbf74]
cmp byte [esi + 0x17], 0
jne 0x4427a7
mov esi, dword [esi + 0xc]
mov al, byte [esi + 0x15]
test al, 2
je 0x4427bd
and al, 0x3d
mov byte [esi + 0x15], al
mov eax, dword [esi]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov al, byte [esi + 0x15]
and al, 0x9b
or al, 0x18
mov dword [esi], edi
mov dword [esi + 4], 0
mov byte [esi + 0x15], al
jns 0x4427df
mov eax, esi
call fcn.00401150
and byte [esi + 0x15], 0x8f
jmp 0x442804
cmp dword [0x4bb8d0], 0
je 0x4427ec
test al, 0x10
jne 0x4427f9
cmp dword [0x4bb8d4], 0
je 0x442804
test al, 0x20
je 0x442804
test al, 8
je 0x442804
mov eax, esi
call fcn.00401150
mov eax, dword [esp + 0x38]
test eax, eax
je 0x44282c
push eax
call fcn.00491a68
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x20]
add esp, 4
mov dword [0x4ba54c], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x1c]
pop edi
pop esi
mov dword [0x4ba54c], edx
pop ebx
mov esp, ebp
pop ebp
ret 8