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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
mov eax, dword [0x4a6ae4]
push ebx
xor ebx, ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], eax
mov dword [0x4a6ae4], ebx
mov dword [esp + 0x1c], 1
mov dword [esp + 0x2c], 0xffffffff
mov byte [esp + 0xe], 0xa
mov byte [0x4a6aec], bl
mov byte [0x4a6ae3], bl
mov byte [0x4a6ae2], bl
mov dword [0x4a6ae8], 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 0x43c0e0
movsx ecx, byte [esi]
push ecx
call fcn.00485785
add eax, 0xffffffbd
add esp, 4
cmp eax, 0x19
ja case.0x43bf7f.69
movzx edx, byte [eax + 0x43ca88]
jmp dword [edx*4 + 0x43ca60]
movzx edi, byte [esi + 1]
test edi, 0xffffff80
jne 0x43bfa4
push 2
push edi
call fcn.0048447e
add esp, 8
cmp eax, ebx
je 0x43bfa4
and edi, 0xffffffdf
mov eax, edi
cmp al, 0x4c
jne 0x43bfb7
inc esi
mov byte [0x4a6aec], 2
jmp case.0x43bf7f.69
mov byte [0x4a6aec], 1
jmp case.0x43bf7f.69
cmp byte [esi + 1], 0
je case.0x43bf7f.69
mov al, byte [esi + 1]
inc esi
test al, al
je case.0x43bf7f.69
mov byte [esp + 0xe], al
jmp case.0x43bf7f.69
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je case.0x43bf7f.70
cmp al, 9
je case.0x43bf7f.70
mov edi, 0x497ff4
mov eax, esi
call fcn.00408ef0
mov edi, eax
cmp edi, ebx
jne 0x43c011
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43c005
sub eax, edx
lea edi, [esi + eax]
push ebx
mov eax, edi
sub eax, esi
push eax
push esi
mov ecx, 0x4a9d50
call fcn.0041e760
mov ecx, eax
mov dword [0x4a6ae4], ecx
cmp ecx, ebx
je 0x43c9ac
cmp byte [ecx + 0x3d], 0
jne 0x43c9ac
mov eax, dword [ecx + 0x10]
cmp eax, 2
jl 0x43c9ac
cmp eax, 3
jg 0x43c9ac
mov eax, dword [ecx + 0xc]
cmp word [eax + 4], 0
jne 0x43c9ac
cmp word [eax + 0x14], 0
jne 0x43c9ac
lea esi, [edi - 1]
xor ebx, ebx
jmp case.0x43bf7f.69
mov byte [0x4a6ae3], 1
jmp case.0x43bf7f.69
lea ecx, [esi + 1]
push ecx
call fcn.004844c6
add esp, 4
cmp eax, 1
jge 0x43c090
mov eax, 1
dec eax
mov dword [0x4a6ae8], eax
jmp case.0x43bf7f.69
push 6
push str.Random
push esi
call fcn.004839c0
add esp, 0xc
test eax, eax
jne 0x43c0b6
mov byte [esp + 0xf], 1
add esi, 5
jmp case.0x43bf7f.69
mov byte [0x4a6ae2], 1
jmp case.0x43bf7f.69
mov byte [esp + 0x12], 1
mov dword [esp + 0x2c], ebx
jmp case.0x43bf7f.69
mov byte [esp + 0x13], 1
jmp case.0x43bf7f.69
mov byte [esp + 0x14], 1
inc esi
cmp byte [esi], 0
jne 0x43bf60
mov edx, dword [ebp + 0xc]
mov cl, byte [edx]
test cl, cl
je 0x43c9ac
mov edx, dword [0x4a7c78]
mov al, byte [edx + 0x17]
mov dword [esp + 0x18], edx
test al, al
jne 0x43c104
mov eax, dword [edx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 2
ja 0x43c9ac
mov eax, dword [ebp + 0xc]
mov ebx, 1
cmp cl, byte [esp + 0xe]
jne 0x43c11b
inc ebx
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x43c114
mov esi, dword [ebp + 0xc]
mov edi, eax
sub edi, esi
mov dword [esp + 0x28], edi
cmp byte [esp + 0x13], cl
jne 0x43c144
cmp eax, esi
jbe 0x43c144
mov cl, byte [eax - 1]
cmp cl, byte [esp + 0xe]
jne 0x43c144
dec ebx
jmp 0x43c169
cmp byte [esp + 0xe], 0xa
jne 0x43c16e
push 0xa
push esi
call fcn.00483f31
add esp, 8
test eax, eax
je 0x43c16e
cmp eax, esi
jbe 0x43c16e
cmp byte [eax - 1], 0xd
jne 0x43c16e
mov byte [esp + 0x11], 1
mov byte [esp + 0x10], 1
cmp ebx, 1
jne 0x43c18b
mov edx, dword [esp + 0x18]
push ebx
push 0
push edi
push esi
push edx
call fcn.00472eb0
mov dword [esp + 0x1c], eax
jmp 0x43c9ac
cmp dword [0x4a6ae4], 0
jne 0x43c19b
cmp byte [esp + 0x11], 0
je 0x43c203
lea eax, [edi + 3]
push eax
call fcn.004830f9
mov esi, eax
add esp, 4
mov dword [esp + 0x38], esi
test esi, esi
jne 0x43c1cd
mov ecx, dword [ebp + 8]
push 0x496816
push eax
push str.Out_of_memory.
call fcn.0042d870
mov dword [esp + 0x1c], eax
jmp 0x43c9ac
mov edx, dword [ebp + 0xc]
lea ecx, [edi + 1]
push ecx
push edx
push esi
call fcn.0048b890
add esp, 0xc
cmp byte [esp + 0x11], 0
mov dword [ebp + 0xc], esi
je 0x43c203
mov ax, word [0x49b72c]
mov word [edi + esi], ax
mov cl, byte [0x49b72e]
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.004830f9
mov ebx, eax
add esp, 4
mov dword [esp + 0x34], ebx
test ebx, ebx
jne 0x43c248
mov ecx, dword [ebp + 8]
push 0x496816
push eax
push str.Out_of_memory.
call fcn.0042d870
mov dword [esp + 0x1c], eax
jmp 0x43c9ac
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 0x43c2d7
mov al, byte [esi]
cmp al, byte [esp + 0xe]
jne 0x43c2d0
add dword [esp + 0x1c], edx
cmp byte [esp + 0xf], 0
mov byte [esi], 0
je 0x43c2c7
sub dword [0x4a4394], edx
jne 0x43c289
call fcn.00411fb0
mov edx, 1
mov ecx, dword [0x4a6c24]
mov eax, dword [ecx]
add ecx, 4
mov dword [0x4a6c24], 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 0x43c261
cmp byte [esp + 0x10], 0
jne 0x43c334
add dword [esp + 0x1c], edx
cmp byte [esp + 0xf], 0
je 0x43c334
sub dword [0x4a4394], edx
jne 0x43c2f6
call fcn.00411fb0
mov ecx, dword [0x4a6c24]
mov eax, dword [ecx]
add ecx, 4
mov dword [0x4a6c24], 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 [0x4a6ae4], 0
je 0x43c34e
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push 0x43bd50
push eax
push ecx
jmp 0x43c382
cmp byte [esp + 0xf], 0
je 0x43c366
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push 0x43bd40
push edx
push eax
jmp 0x43c382
cmp byte [esp + 0x14], 0
mov eax, 0x43bcd0
jne 0x43c377
mov eax, 0x43bba0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push eax
push ecx
push edx
push ebx
call fcn.00484130
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 0x43c3b2
mov eax, dword [esi + 0xc]
push 1
push 0
push edi
push 0
push eax
call fcn.00472eb0
jmp 0x43c41c
mov byte [esp + 0xf], 1
mov cl, 1
cmp edi, 0xffffffff
jne 0x43c3c8
xor cl, cl
xor ebx, ebx
mov dword [esp + 0x28], ebx
jmp 0x43c3cd
mov byte [esp + 0xf], 0
lea edi, [ebx + 1]
cmp al, 2
jne 0x43c3fb
cmp byte [esp + 0xf], 0
je 0x43c3e9
push 0x496816
mov eax, ebx
call fcn.00403e20
jmp 0x43c41c
mov esi, 0x4a9d34
call fcn.00403ea0
neg eax
sbb eax, eax
neg eax
jmp 0x43c41c
cmp edi, dword [0x4a43ac]
jbe 0x43c432
cmp edi, dword [esi + 0x10]
jbe 0x43c432
push 0x496816
push 0x49d880
mov ecx, 0x4a9d50
call fcn.0042db20
cmp eax, 1
je 0x43c634
mov dword [esp + 0x1c], 0
jmp 0x43c9ac
cmp edi, 2
jae 0x43c450
xor edx, edx
test cl, cl
setne dl
xor al, al
mov ecx, esi
add edx, 3
push edx
call fcn.00473450
jmp 0x43c638
mov al, byte [esi + 0x15]
test al, 2
je 0x43c466
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 0x43c4a0
mov cl, byte [esi + 0x14]
cmp cl, 1
jbe 0x43c4d3
cmp cl, 2
je 0x43c50b
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 0x43c629
mov eax, dword [esi + 8]
cmp eax, 0x496816
je 0x43c4c4
push ebx
push 0x496816
push eax
call fcn.00483b20
add esp, 0xc
mov eax, dword [esi + 8]
mov byte [ebx + eax], 0
mov dword [esi + 0xc], ebx
jmp 0x43c638
cmp edi, 0x40
ja 0x43c50b
cmp edi, 4
ja 0x43c4e4
mov esi, 4
jmp 0x43c4f2
mov eax, 8
cmp eax, edi
sbb esi, esi
and esi, 0x38
add esi, eax
mov eax, esi
call fcn.0046d770
test eax, eax
je 0x43c425
mov ecx, dword [esp + 0x18]
mov byte [ecx + 0x14], 1
jmp 0x43c492
cmp edi, 0x10
jae 0x43c51a
mov esi, 0x10
jmp 0x43c59f
cmp edi, 0x104
jae 0x43c529
mov esi, 0x104
jmp 0x43c59f
cmp edi, 0x28000
jae 0x43c56d
mov dword [esp + 0x30], edi
fild dword [esp + 0x30]
test edi, edi
jns 0x43c543
fadd qword [0x49e7f8]
fmul qword [0x49e800]
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 0x43c59f
cmp edi, 0x190000
jae 0x43c57d
lea esi, [edi + 0x4000]
jmp 0x43c59f
cmp edi, 0x640000
jae 0x43c599
mov eax, 0x51eb851f
mul edi
mov esi, edx
mov edx, dword [esp + 0x30]
shr esi, 5
add esi, edi
jmp 0x43c59f
lea esi, [edi + 0x10000]
mov eax, dword [0x4a43ac]
cmp esi, eax
jbe 0x43c5aa
mov esi, eax
cmp cl, 2
jne 0x43c5e9
test edx, edx
je 0x43c5e9
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 8]
push edx
mov bl, 1
call fcn.00482f58
add esp, 4
xor edi, edi
cmp esi, edi
jl 0x43c5ed
push esi
call fcn.004830f9
add esp, 4
cmp eax, edi
je 0x43c5ed
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov byte [ecx + 0x14], 2
jmp 0x43c492
xor bl, bl
jmp 0x43c5c5
mov eax, dword [esp + 0x18]
test bl, bl
je 0x43c611
push 0x496816
mov dword [eax + 0x10], edi
mov dword [eax + 8], 0x4a95ee
mov dword [eax + 0xc], edi
push str.Out_of_memory.
jmp 0x43c412
mov edx, dword [eax + 8]
push 0x496816
mov byte [edx], 0
mov dword [eax + 0xc], edi
push str.Out_of_memory.
jmp 0x43c412
mov ecx, dword [esi + 8]
mov byte [ecx], 0
mov dword [esi + 0xc], ebx
jmp 0x43c638
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 0x43c65d
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0xc]
jmp 0x43c661
mov esi, dword [esp + 0x18]
test byte [esi + 0x15], 8
je 0x43c66e
mov eax, esi
call fcn.00401150
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x43c687
test byte [esi + 0x15], 4
je 0x43c682
mov eax, esi
call fcn.0042e090
mov esi, dword [esi + 8]
jmp 0x43c6db
cmp al, 2
jne 0x43c6d6
mov eax, dword [0x4a9d40]
test eax, eax
jne 0x43c6d2
mov esi, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
push 1
call esi
test eax, eax
jne 0x43c6bc
push 0xf
call esi
test eax, eax
je 0x43c6b3
mov eax, str.____
mov esi, eax
jmp 0x43c6db
mov eax, 0x496816
mov esi, eax
jmp 0x43c6db
xor ecx, ecx
call fcn.00403c50
cmp eax, 0xffffffff
mov eax, 0x496816
je 0x43c6d2
mov eax, dword [0x4a9d3c]
mov esi, eax
jmp 0x43c6db
mov esi, 0x4a95ee
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x1c], ebx
jbe 0x43c7cb
lea esp, [esp]
cmp byte [esp + 0x12], 0
je 0x43c831
test ebx, ebx
je 0x43c831
cmp byte [0x4a6ae3], 0
je 0x43c7f6
cmp dword [0x4a6ae8], 0
jne 0x43c7f6
mov ecx, dword [esp + 0x24]
mov edi, dword [ecx]
mov eax, edi
call fcn.0040c880
test al, al
je 0x43c749
push 0x10
push 0
push edi
call fcn.00484c8f
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
fild qword [esp + 0x4c]
add esp, 0xc
jmp 0x43c752
push edi
call fcn.00484d91
add esp, 4
mov eax, ebx
fstp qword [esp + 0x50]
call fcn.0040c880
test al, al
je 0x43c77c
push 0x10
push 0
push ebx
call fcn.00484c8f
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
fild qword [esp + 0x54]
add esp, 0xc
jmp 0x43c785
push ebx
call fcn.00484d91
add esp, 4
fld qword [esp + 0x50]
fucompp
fnstsw ax
test ah, 0x44
jp 0x43c831
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
inc dword [esp + 0x28]
cmp edx, dword [esp + 0x30]
jne 0x43c7b0
cmp byte [esp + 0x10], 0
jne 0x43c7b0
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 0x43c6f0
mov eax, dword [esp + 0x34]
push eax
call fcn.00482f58
mov edi, dword [esp + 0x1c]
add esp, 4
cmp byte [esp + 0x11], 0
je 0x43c891
mov byte [esi - 2], 0
cmp byte [edi + 0x17], 0
jne 0x43c869
mov esi, dword [edi + 0xc]
jmp 0x43c86b
mov al, byte [0x4a6aec]
push ebx
test al, al
jne 0x43c80a
mov eax, dword [edi]
push eax
call fcn.00482f41
jmp 0x43c821
cmp al, 2
jne 0x43c819
mov edx, dword [edi]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x43c824
mov eax, dword [edi]
push eax
call fcn.00483091
add esp, 8
test eax, eax
setne al
test al, al
je 0x43c79a
mov edi, dword [esp + 0x24]
mov ecx, dword [edi]
mov al, byte [ecx]
test al, al
je 0x43c84a
lea ecx, [ecx]
inc ecx
mov byte [esi], al
mov al, byte [ecx]
inc esi
test al, al
jne 0x43c840
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x30]
jb 0x43c85b
cmp byte [esp + 0x10], 0
je 0x43c862
mov cl, byte [esp + 0xe]
mov byte [esi], cl
inc esi
mov ebx, dword [edi]
jmp 0x43c7b0
mov esi, edi
cmp byte [esi + 0x17], 1
jne 0x43c887
test byte [esi + 0x15], 8
je 0x43c87e
mov eax, esi
call fcn.00401150
add dword [esi + 0xc], 0xfffffffe
lea eax, [esi + 0xc]
jmp 0x43c894
mov eax, 0x4aa484
add dword [eax], 0xfffffffe
jmp 0x43c894
mov byte [esi], 0
cmp byte [esp + 0x12], 0
je 0x43c972
cmp dword [esp + 0x28], 0
je 0x43c972
cmp byte [edi + 0x17], 0
jne 0x43c8b5
mov esi, dword [edi + 0xc]
jmp 0x43c8b7
mov esi, edi
test byte [esi + 0x15], 8
je 0x43c8c4
mov eax, esi
call fcn.00401150
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x43c8dd
test byte [esi + 0x15], 4
je 0x43c8d8
mov eax, esi
call fcn.0042e090
mov eax, dword [esi + 8]
jmp 0x43c92b
cmp al, 2
jne 0x43c926
mov eax, dword [0x4a9d40]
test eax, eax
jne 0x43c92b
mov esi, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
push 1
call esi
test eax, eax
jne 0x43c90e
push 0xf
call esi
test eax, eax
je 0x43c907
mov eax, str.____
jmp 0x43c92b
mov eax, 0x496816
jmp 0x43c92b
xor ecx, ecx
call fcn.00403c50
cmp eax, 0xffffffff
mov eax, 0x496816
je 0x43c92b
mov eax, dword [0x4a9d3c]
jmp 0x43c92b
mov eax, 0x4a95ee
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43c930
mov esi, dword [esp + 0x18]
sub eax, edx
mov edi, eax
cmp byte [esi + 0x17], cl
jne 0x43c947
mov esi, dword [esi + 0xc]
cmp byte [esi + 0x17], 1
jne 0x43c95f
test byte [esi + 0x15], 8
je 0x43c95a
mov eax, esi
call fcn.00401150
lea eax, [esi + 0xc]
jmp 0x43c964
mov eax, 0x4aa484
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 0x43c97d
mov eax, dword [edi + 0xc]
jmp 0x43c97f
mov eax, edi
cmp byte [eax + 0x17], 2
jne 0x43c9a0
cmp dword [0x4a9d40], 0
je 0x43c9a0
push 1
mov ecx, 0x4a9d34
call fcn.00403f10
mov dword [esp + 0x1c], eax
jmp 0x43c9ac
and byte [eax + 0x15], 0x86
mov dword [esp + 0x1c], 1
mov edi, dword [esp + 0x2c]
cmp edi, 0xffffffff
je 0x43ca21
mov esi, dword [0x4a84e4]
cmp byte [esi + 0x17], 0
jne 0x43c9c4
mov esi, dword [esi + 0xc]
mov al, byte [esi + 0x15]
test al, 2
je 0x43c9da
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 0x43c9fc
mov eax, esi
call fcn.00401150
and byte [esi + 0x15], 0x8f
jmp 0x43ca21
cmp dword [0x4a7e3c], 0
je 0x43ca09
test al, 0x10
jne 0x43ca16
cmp dword [0x4a7e40], 0
je 0x43ca21
test al, 0x20
je 0x43ca21
test al, 8
je 0x43ca21
mov eax, esi
call fcn.00401150
mov eax, dword [esp + 0x38]
test eax, eax
je 0x43ca49
push eax
call fcn.00482f58
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x20]
add esp, 4
mov dword [0x4a6ae4], 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 [0x4a6ae4], edx
pop ebx
mov esp, ebp
pop ebp
ret 8