Function at 0x4fef40
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5812b9
mov eax, dword fs:[0]
push eax
mov eax, 0x146c
call fcn.0052c270
mov eax, dword [0x5fc150]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x146c], 0
call fcn.0040baa0
mov edi, eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1464], edi
mov ecx, dword [edi + 0x234d8]
mov dword [ebp - 0x1468], ecx
cmp eax, 0x110
ja 0x4ff6a7
je 0x4ff10e
sub eax, 2
je 0x4ff0c6
sub eax, 3
je 0x4feff0
sub eax, 0x49
jne case.default.0x500295
cmp dword [ebx + 8], 0xfffffdd9
jne case.default.0x500295
mov eax, dword [ebx]
cmp eax, dword [esi + 0x2c]
jne case.default.0x500295
lea ecx, [esi + 0x20]
call fcn.004fd010
mov eax, 1
jmp 0x50030b
mov ecx, dword [esi + 0x140]
mov edi, ecx
shr ebx, 0x10
mov eax, ebx
mov dword [ebp - 0x1470], ecx
sub eax, dword [esi + 0x14c]
sub edi, ebx
mov dword [ebp - 0x1464], eax
movzx eax, byte [esi + 0x130]
neg eax
mov dword [esi + 0x144], ebx
push 1
sbb eax, eax
mov dword [esi + 0x14c], ebx
and eax, ecx
mov dword [ebp - 0x2b8], 0x1c
mov dword [ebp - 0x2ac], eax
lea eax, [ebp - 0x2b8]
push eax
push 1
push dword [esi + 0xc]
mov dword [ebp - 0x2b4], 3
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2a8], ebx
call dword [sym.imp.USER32.dll_SetScrollInfo]
mov eax, dword [esi + 0x148]
cmp eax, edi
jl 0x4ff69d
mov ecx, dword [ebp - 0x1470]
cmp dword [esi + 0x144], ecx
jge 0x4ff69d
test eax, eax
jle 0x4ff69d
mov edi, dword [ebp - 0x1464]
sub eax, edi
push 1
push eax
push 1
push dword [esi + 0xc]
mov dword [esi + 0x148], eax
call dword [sym.imp.USER32.dll_SetScrollPos]
push 0
push 0
push edi
push 0
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_ScrollWindow]
mov eax, 1
jmp 0x50030b
mov eax, dword [esi + 0x68]
lea ecx, [esi + 0x68]
call dword [eax + 8]
mov eax, dword [esi + 0xd0]
lea ecx, [esi + 0xd0]
call dword [eax + 8]
mov eax, dword [esi + 0xf0]
lea ecx, [esi + 0xf0]
call dword [eax + 8]
mov eax, dword [esi + 0x110]
lea ecx, [esi + 0x110]
call dword [eax + 8]
lea ecx, [esi + 0x20]
call fcn.004e9ec0
mov eax, 1
jmp 0x50030b
mov eax, dword [esi + 0x64]
push 0
mov dword [0x611358], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 4]
push 0
push ecx
push eax
lea ecx, [esi + 0x20]
mov byte [esi + 0x4c], 0
call fcn.004eabc0
push 0x60
push dword [edi + 0x10]
push 0xd
call dword [sym.imp.KERNEL32.dll_MulDiv]
push eax
push str.Tahoma
lea ecx, [esi + 0x20]
call fcn.004ebc00
push dword [esi + 0xc]
mov eax, dword [esi + 0x68]
lea edi, [esi + 0x68]
push dword [esi + 4]
mov ecx, edi
call dword [eax + 4]
mov eax, dword [edi]
mov ecx, edi
push 1
push 0
push 0x5208
call dword [eax + 0x30]
push 0
push 1
mov ecx, edi
call fcn.004e92f0
push dword [esi + 0xc]
mov eax, dword [esi + 0xd0]
lea ecx, [esi + 0xd0]
push dword [esi + 4]
call dword [eax + 4]
mov eax, dword [esi + 0xd0]
lea ecx, [esi + 0xd0]
push 1
push 0
push 0x55f0
call dword [eax + 0x30]
push 0
push 0
lea ecx, [esi + 0xd0]
call fcn.004e92f0
push dword [esi + 0xc]
mov eax, dword [esi + 0xf0]
lea ecx, [esi + 0xf0]
push dword [esi + 4]
call dword [eax + 4]
mov eax, dword [esi + 0xf0]
lea ecx, [esi + 0xf0]
push 1
push 0
push 0x59d8
call dword [eax + 0x30]
push 0
push 0
lea ecx, [esi + 0xf0]
call fcn.004e92f0
push dword [esi + 0xc]
mov eax, dword [esi + 0x110]
lea ebx, [esi + 0x110]
push dword [esi + 4]
mov ecx, ebx
call dword [eax + 4]
mov eax, dword [ebx]
mov ecx, ebx
push 1
push 0
push 0x5dc0
call dword [eax + 0x30]
push 0
push 0
mov ecx, ebx
call fcn.004e92f0
push 0x5883b8
push str.Folder__Default
push edi
lea ecx, [ebp - 0x304]
call fcn.004c2540
mov dword [ebp - 4], 0
lea edi, [esi + 0x58]
push eax
mov ecx, edi
call fcn.00446390
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x304]
call fcn.004655b0
push 0x5883b8
push str.Keywords_Lists
lea eax, [esi + 0xd0]
push eax
lea ecx, [ebp - 0x304]
call fcn.004c2540
mov dword [ebp - 4], 1
mov ecx, edi
push eax
call fcn.00446390
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x304]
call fcn.004655b0
push 0x5883b8
push str.Comment__Number
lea eax, [esi + 0xf0]
push eax
lea ecx, [ebp - 0x304]
call fcn.004c2540
mov dword [ebp - 4], 2
mov ecx, edi
push eax
call fcn.00446390
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x304]
call fcn.004655b0
push 0x5883b8
push str.Operators__Delimiters
push ebx
lea ecx, [ebp - 0x304]
call fcn.004c2540
mov dword [ebp - 4], 3
mov ecx, edi
push eax
call fcn.00446390
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x304]
call fcn.004655b0
push edi
lea ecx, [esi + 0x20]
call fcn.00434660
push 5
push dword [esi + 0x2c]
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [ebp - 0x294]
push eax
push 0x4e2f
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x294]
mov dword [ebp - 0x1478], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x1474], eax
lea eax, [ebp - 0x1478]
push eax
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [esi]
lea ecx, [ebp - 0x27c]
push ecx
mov ecx, esi
call dword [eax + 0x1c]
mov eax, dword [ebp - 0x1474]
lea ecx, [esi + 0x20]
sub dword [ebp - 0x270], 0x14
add eax, 0xa
mov dword [ebp - 0x278], eax
lea eax, [ebp - 0x27c]
push eax
call fcn.004346f0
mov eax, dword [esi + 0x68]
lea ecx, [esi + 0x68]
lea edx, [ebp - 0x27c]
push edx
call dword [eax + 0x10]
mov eax, dword [esi + 0xd0]
lea ecx, [esi + 0xd0]
lea edx, [ebp - 0x27c]
push edx
call dword [eax + 0x10]
mov eax, dword [esi + 0xf0]
lea ecx, [esi + 0xf0]
lea edx, [ebp - 0x27c]
push edx
call dword [eax + 0x10]
mov eax, dword [ebx]
lea ecx, [ebp - 0x27c]
push ecx
mov ecx, ebx
call dword [eax + 0x10]
mov ecx, esi
call fcn.004fdc10
mov edi, dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push 0
push 0
push 0x14e
push 0x4e26
push dword [esi + 0xc]
call edi
mov eax, dword [esi + 0x64]
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0x4e29
mov dword [0x611358], eax
push dword [esi + 0xc]
call ebx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0x4e28
push dword [esi + 0xc]
call ebx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0x4e22
push dword [esi + 0xc]
call ebx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0x4e24
push dword [esi + 0xc]
call ebx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp - 0x1464]
cmp dword [ecx + 0x231d8], 0
je 0x4ff4e5
push 5
push 0x4e2b
push dword [esi + 0xc]
call ebx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 5
push 0x4e2a
push dword [esi + 0xc]
call ebx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0xc80014
push 0
push 0x406
push 0x4e2a
push dword [esi + 0xc]
call edi
push 0x96
push 1
push 0x405
push 0x4e2a
push dword [esi + 0xc]
call edi
push 0
push 0
push 0xf0
push 0x4e2a
push dword [esi + 0xc]
call edi
cmp eax, 1
je 0x4ff4e5
push 0
push 0x4e2a
push dword [esi + 0xc]
call ebx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 1
lea eax, [ebp - 0x2b8]
mov dword [ebp - 0x2b8], 0x1c
push eax
push 1
push dword [esi + 0xc]
mov dword [ebp - 0x2b4], 1
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], 0
call dword [sym.imp.USER32.dll_SetScrollInfo]
push str.User_Defined_Language_v.
lea ecx, [ebp - 0x26c]
call fcn.004029a0
mov dword [ebp - 4], 4
lea eax, [ebp - 0x50]
push 0xa
push eax
push 2
call fcn.00555012
mov edx, eax
add esp, 0xc
cmp word [edx], 0
jne 0x4ff554
xor ecx, ecx
jmp 0x4ff56f
mov ecx, edx
lea edi, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4ff560
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x26c]
call fcn.00406760
push 1
push 0x58823c
lea ecx, [ebp - 0x26c]
call fcn.00406760
push 0xa
lea eax, [ebp - 0x50]
push eax
push 1
call fcn.00555012
mov edx, eax
add esp, 0xc
cmp word [edx], 0
jne 0x4ff5aa
xor ecx, ecx
jmp 0x4ff5bf
mov ecx, edx
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4ff5b0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x26c]
call fcn.00406760
push 1
push 0x58823c
lea ecx, [ebp - 0x26c]
call fcn.00406760
push 0xa
lea eax, [ebp - 0x50]
push eax
push 0
call fcn.00555012
mov edx, eax
add esp, 0xc
cmp word [edx], 0
jne 0x4ff5fa
xor ecx, ecx
jmp 0x4ff60f
mov ecx, edx
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4ff600
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x26c]
call fcn.00406760
push 1
push 0x58823c
lea ecx, [ebp - 0x26c]
call fcn.00406760
push 0xa
lea eax, [ebp - 0x50]
push eax
push 0xc
call fcn.00555012
mov edx, eax
add esp, 0xc
cmp word [edx], 0
jne 0x4ff64a
xor ecx, ecx
jmp 0x4ff65f
mov ecx, edx
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4ff650
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x26c]
call fcn.00406760
cmp dword [ebp - 0x258], 8
mov eax, dword [ebp - 0x26c]
jae 0x4ff681
lea eax, [ebp - 0x26c]
push eax
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x26c]
call fcn.004038c0
mov eax, 1
jmp 0x50030b
cmp eax, 0x115
ja 0x5002f2
je 0x500278
sub eax, 0x111
je 0x4ff706
sub eax, 3
jne case.default.0x500295
push 0x4e2a
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp ebx, eax
jne 0x4ff69d
push 0
push 0
push 0x400
push 0x4e2a
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push eax
push dword [esi + 0xc]
mov ecx, edi
call fcn.004a7820
mov eax, 1
jmp 0x50030b
mov ebx, dword [ebp + 0x10]
mov edx, 0x300
mov eax, ebx
mov dword [ebp - 0x1470], ebx
shr eax, 0x10
cmp ax, dx
jne 0x4ff75c
lea eax, [ebp - 0x254]
push eax
push 0x100
push 0xd
push 0x4e28
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov ecx, dword [0x611358]
lea eax, [ebp - 0x254]
push eax
lea ecx, [ecx + 0x544]
call fcn.00403ef0
mov eax, 1
jmp 0x50030b
cmp ax, 1
jne 0x4ff79c
mov eax, 0x4e26
cmp bx, ax
jne 0x4ff69d
push 0
push 0
push 0x147
push eax
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push eax
mov ecx, esi
call fcn.004fd990
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x3c]
mov eax, 1
jmp 0x50030b
cmp ebx, 0x4e21
ja 0x4ff8c8
je 0x4ff7d4
sub ebx, 2
jne case.default.0x500295
push ebx
push ebx
push 0xbd3
push dword [esi + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push ebx
mov ecx, esi
call fcn.004e92f0
lea eax, [ebx + 1]
jmp 0x50030b
cmp byte [esi + 0x130], 0
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0x1464], 0xbd2
jne 0x4ff830
cmp dword [edi + 0x231d8], 0
je 0x4ff826
push dword [esi + 0xc]
mov ecx, edi
call fcn.004ba4a0
push 0
push 0x4e2b
push dword [esi + 0xc]
call ebx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0x4e2a
push dword [esi + 0xc]
call ebx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov dword [ebp - 0x1464], 0xbd1
mov ecx, esi
call fcn.004fcc80
cmp byte [esi + 0x130], 0
jne 0x4ff8ab
cmp dword [edi + 0x231d8], 0
je 0x4ff8ab
push 0
push 0
push 0xf0
push 0x4e2b
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp eax, 1
jne 0x4ff887
push 0
push 0
push 0x400
push 0x4e2a
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push eax
push dword [esi + 0xc]
mov ecx, edi
call fcn.004a7820
push 5
push 0x4e2b
push dword [esi + 0xc]
call ebx
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push eax
call edi
push 5
push 0x4e2a
push dword [esi + 0xc]
call ebx
push eax
call edi
push 0
push 0
push dword [ebp - 0x1464]
push dword [esi + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x50030b
lea eax, [ebx - 0x4e22]
cmp eax, 0xe
ja case.default.0x500295
movzx eax, byte [eax + 0x50034c]
jmp dword [eax*4 + 0x50032c]
push 0
push 0
push 4
push str.Remove_the_current_language
push str.Are_you_sure_
push dword [esi + 0xc]
push str.UDLRemoveCurrentLang
call fcn.004607b0
cmp eax, 6
jne 0x4ff69d
mov ebx, dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push 0
push 0
push 0x147
push 0x4e26
push dword [esi + 0xc]
call ebx
push 0
mov edi, eax
push edi
push 0x149
push 0x4e26
push dword [esi + 0xc]
mov dword [ebp - 0x1470], edi
call ebx
cmp eax, 0x100
ja 0x4ff69d
lea eax, [ebp - 0x254]
push eax
push edi
push 0x148
push 0x4e26
push dword [esi + 0xc]
call ebx
push 0
push edi
push 0x144
push 0x4e26
push dword [esi + 0xc]
call ebx
push 0
dec edi
push edi
push 0x14e
push 0x4e26
push dword [esi + 0xc]
call ebx
push 0x4e26
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push eax
push 0x14e26
push 0x111
push dword [esi + 0xc]
call ebx
mov ecx, dword [ebp - 0x1464]
push edi
call fcn.004ba4d0
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_GetParent]
push 0
push 0
mov edi, eax
push 0x40e
push edi
call ebx
push 5
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov ecx, dword [ebp - 0x1470]
push 0
add ecx, 0xb464
push ecx
push eax
call dword [sym.imp.USER32.dll_RemoveMenu]
push edi
call dword [sym.imp.USER32.dll_DrawMenuBar]
lea eax, [ebp - 0x254]
push eax
push 0
push 0xbd4
push dword [esi + 8]
call ebx
mov eax, 1
jmp 0x50030b
push 0
push 0
push 0x147
push 0x4e26
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push 0
mov ebx, eax
push ebx
push 0x149
push 0x4e26
push dword [esi + 0xc]
mov dword [ebp - 0x1464], ebx
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp eax, 0x100
ja 0x4ff69d
lea eax, [ebp - 0x254]
push eax
push ebx
push 0x148
push 0x4e26
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push 0x5c36e4
lea ecx, [ebp - 0x284]
call fcn.004029a0
mov dword [ebp - 4], 5
lea eax, [ebp - 0x284]
mov ecx, dword [ebp - 0x1468]
push eax
push str.common_name
lea eax, [ebp - 0x29c]
push eax
call fcn.0045ff80
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x284]
call fcn.004038c0
push str.Rename_Current_Language_Name
lea ecx, [ebp - 0x284]
call fcn.004029a0
mov byte [ebp - 4], 8
lea eax, [ebp - 0x284]
mov ecx, dword [ebp - 0x1468]
push eax
push str.userdefined_title_rename
lea eax, [ebp - 0x26c]
push eax
call fcn.0045ff80
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x284]
call fcn.004038c0
lea ecx, [ebp - 0x3a8]
call fcn.00497120
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x288], 8
mov ecx, dword [ebp - 0x29c]
jae 0x4ffb13
lea ecx, [ebp - 0x29c]
cmp dword [ebp - 0x258], 8
mov eax, dword [ebp - 0x26c]
jae 0x4ffb28
lea eax, [ebp - 0x26c]
push 0
push 0
push 0x3f
lea edx, [ebp - 0x254]
push edx
push ecx
push eax
push dword [esi + 0xc]
lea ecx, [ebp - 0x3a8]
push dword [esi + 4]
call fcn.0049c1a0
lea ecx, [ebp - 0x3a8]
call fcn.004fd950
mov dword [ebp - 0x1468], eax
test eax, eax
je 0x4ffc6d
push eax
mov ecx, edi
call fcn.004b7320
push 0
test al, al
je 0x4ffbaa
mov ecx, dword [edi + 0x234d8]
push 0
push 0
push str.UDL_Error
push str.This_name_is_used_by_another_language__rplease_give_another_one.
push dword [esi + 0xc]
push str.UDLNewNameError
call fcn.004607b0
push 0
push 0x4e22
push 0x111
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x4ffc6d
mov ebx, dword [ebp - 0x1464]
push ebx
push 0x144
push 0x4e26
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push dword [ebp - 0x1468]
push ebx
push 0x14a
push 0x4e26
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push 0
push ebx
push 0x14e
push 0x4e26
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov ecx, dword [edi + ebx*4 + 0x9e8]
push dword [ebp - 0x1468]
add ecx, 0x52c
call fcn.00403ef0
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_GetParent]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
push 0
push 0
push 0x40e
push edi
call ebx
push 5
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
push dword [ebp - 0x1468]
mov ecx, dword [ebp - 0x1464]
add ecx, 0xb464
push ecx
push 0
push ecx
push eax
call dword [sym.imp.USER32.dll_ModifyMenuW]
push edi
call dword [sym.imp.USER32.dll_DrawMenuBar]
lea eax, [ebp - 0x254]
push eax
push dword [ebp - 0x1468]
push 0xbd5
push dword [esi + 8]
call ebx
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x3a8]
call fcn.004973b0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x26c]
call fcn.004038c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x29c]
call fcn.004038c0
mov eax, 1
jmp 0x50030b
push 0
push 0
push 0x147
push 0x4e26
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov dword [ebp - 0x1474], eax
test eax, eax
jne 0x4ffcd3
mov ebx, 0x4e23
mov dword [ebp - 0x1470], ebx
push 0x5c36e4
lea ecx, [ebp - 0x26c]
call fcn.004029a0
mov dword [ebp - 4], 0xc
lea eax, [ebp - 0x26c]
mov ecx, dword [ebp - 0x1468]
push eax
push str.common_name
lea eax, [ebp - 0x284]
push eax
call fcn.0045ff80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x26c]
call fcn.004038c0
cmp ebx, 0x4e25
jne 0x4ffd69
push str.Save_Current_Language_Name_As...
lea ecx, [ebp - 0x2d0]
call fcn.004029a0
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x2d0]
mov ecx, dword [ebp - 0x1468]
push eax
push str.userdefined_title_save
lea eax, [ebp - 0x2b4]
mov dword [ebp - 0x146c], 1
push eax
call fcn.0045ff80
mov dword [ebp - 4], 0x10
mov ebx, 3
jmp 0x4ffdb4
push str.Create_New_Language...
lea ecx, [ebp - 0x26c]
call fcn.004029a0
mov dword [ebp - 4], 0x11
lea eax, [ebp - 0x26c]
mov ecx, dword [ebp - 0x1468]
push eax
push str.userdefined_title_new
lea eax, [ebp - 0x31c]
mov dword [ebp - 0x146c], 4
push eax
call fcn.0045ff80
mov dword [ebp - 4], 0x12
mov ebx, 0xc
push eax
lea ecx, [ebp - 0x29c]
mov dword [ebp - 0x146c], ebx
call fcn.004226d0
mov dword [ebp - 4], 0x14
test bl, 8
je 0x4ffde6
and ebx, 0xfffffff7
lea ecx, [ebp - 0x31c]
mov dword [ebp - 0x146c], ebx
call fcn.004038c0
mov byte [ebp - 4], 0x15
test bl, 4
je 0x4ffe03
and ebx, 0xfffffffb
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x146c], ebx
call fcn.004038c0
mov byte [ebp - 4], 0x16
test bl, 2
je 0x4ffe20
and ebx, 0xfffffffd
lea ecx, [ebp - 0x2b4]
mov dword [ebp - 0x146c], ebx
call fcn.004038c0
mov byte [ebp - 4], 0x17
test bl, 1
je 0x4ffe3d
and ebx, 0xfffffffe
lea ecx, [ebp - 0x2d0]
mov dword [ebp - 0x146c], ebx
call fcn.004038c0
lea ecx, [ebp - 0x3a8]
call fcn.00497120
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0x270], 8
mov ecx, dword [ebp - 0x284]
jae 0x4ffe61
lea ecx, [ebp - 0x284]
cmp dword [ebp - 0x288], 8
mov eax, dword [ebp - 0x29c]
jae 0x4ffe76
lea eax, [ebp - 0x29c]
push 0
push 0
push 0x3f
push 0x5883b8
push ecx
push eax
push dword [esi + 0xc]
lea ecx, [ebp - 0x3a8]
push dword [esi + 4]
call fcn.0049c1a0
lea ecx, [ebp - 0x3a8]
call fcn.004fd950
test eax, eax
je 0x4ffff7
cmp word [eax], 0
je 0x4ffff7
push eax
lea ecx, [ebp - 0x26c]
call fcn.004029a0
mov byte [ebp - 4], 0x19
cmp dword [ebp - 0x258], 8
mov ebx, dword [ebp - 0x26c]
jae 0x4ffed6
lea ebx, [ebp - 0x26c]
push ebx
mov ecx, edi
mov dword [ebp - 0x1464], ebx
call fcn.004b7320
test al, al
je 0x4fff25
mov ecx, dword [ebp - 0x1468]
push 0
push 0
push 0
push str.UDL_Error
push str.This_name_is_used_by_another_language__rplease_give_another_one.
push dword [esi + 0xc]
push str.UDLNewNameError
call fcn.004607b0
push 0
push 0x4e22
push 0x111
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x4fffe8
cmp dword [ebp - 0x1470], 0x4e25
jne 0x4fff40
mov eax, dword [ebp - 0x1474]
mov eax, dword [edi + eax*4 + 0x9e8]
jmp 0x4fff43
mov eax, dword [esi + 0x64]
push ebx
push eax
mov ecx, edi
call fcn.004a8f40
push dword [ebp - 0x1464]
mov edi, dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov ebx, eax
push 0
push 0x143
push 0x4e26
push dword [esi + 0xc]
call edi
push 0
lea ecx, [ebx + 1]
push ecx
push 0x14e
push 0x4e26
push dword [esi + 0xc]
call edi
push 0x4e26
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
push 0x14e26
push 0x111
push dword [esi + 0xc]
call edi
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_GetParent]
push 0
push 0
mov esi, eax
push 0x40e
push esi
call edi
push dword [ebp - 0x1464]
lea ecx, [ebx + 0xb465]
push ecx
push 0
lea ecx, [ebx + 0xb464]
push ecx
push 5
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
push eax
call dword [sym.imp.USER32.dll_InsertMenuW]
push esi
call dword [sym.imp.USER32.dll_DrawMenuBar]
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x26c]
call fcn.004038c0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x3a8]
call fcn.004973b0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x29c]
call fcn.004038c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x284]
call fcn.004038c0
mov eax, 1
jmp 0x50030b
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
push dword [esi + 0xc]
lea ecx, [ebp - 0x1460]
call fcn.0043b040
mov dword [ebp - 4], 0x1a
lea eax, [ebp - 0x1460]
push 0
push 0x5884e4
push 0x5c38a4
push eax
call fcn.0043c6a0
add esp, 0x10
lea ecx, [ebp - 0x1460]
call fcn.0043bab0
test eax, eax
je 0x5000f2
push eax
lea ecx, [ebp - 0x2d0]
call fcn.004029a0
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x2d0]
push eax
mov ecx, edi
call fcn.004b5060
test al, al
je 0x5000d6
mov ebx, dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push 0
push 0
push 0x147
push 0x4e26
push dword [esi + 0xc]
call ebx
mov ecx, esi
mov edi, eax
call fcn.004fdc10
push 0
push edi
push 0x14e
push 0x4e26
push dword [esi + 0xc]
call ebx
push str.Import_successful.
jmp 0x5000db
push str.Fail_to_import.
call fcn.00426430
add esp, 4
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x2d0]
call fcn.004038c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1460]
call fcn.0043b1b0
xor eax, eax
jmp 0x50030b
push 0
push 0
push 0x147
push 0x4e26
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov ebx, eax
test ebx, ebx
jne 0x50013c
push str.Before_exporting__save_your_language_definition_by_clicking__Save_As...__button
call fcn.00426430
add esp, 4
xor eax, eax
jmp 0x50030b
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
push dword [esi + 0xc]
lea ecx, [ebp - 0x1460]
call fcn.0043b040
mov dword [ebp - 4], 0x1c
lea eax, [ebp - 0x1460]
push 0
push 0x5884e4
push 0x5c38a4
push eax
call fcn.0043c6a0
add esp, 0x10
mov dword [ebp - 0x3ac], 0
lea ecx, [ebp - 0x1460]
call fcn.0043bcc0
test eax, eax
je 0x5000f2
push eax
lea ecx, [ebp - 0x2d0]
call fcn.004029a0
mov byte [ebp - 4], 0x1d
test ebx, ebx
jle 0x5001df
lea eax, [ebp - 0x2d0]
mov ecx, edi
push eax
lea eax, [ebx - 1]
push eax
call fcn.004ab7b0
test al, al
je 0x5001d2
push str.Export_successful
call fcn.00426430
add esp, 4
mov byte [ebp - 4], 0x1c
jmp 0x5000e7
push str.Fail_to_export.
call fcn.00426430
add esp, 4
mov byte [ebp - 4], 0x1c
jmp 0x5000e7
push 0
push 0
push 0xf0
push 0x4e2b
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp eax, 1
sete bl
test bl, bl
je 0x50022d
push 0
push 0
push 0x400
push 0x4e2a
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push eax
push dword [esi + 0xc]
mov ecx, edi
call fcn.004a7820
jmp 0x500237
push dword [esi + 0xc]
mov ecx, edi
call fcn.004ba4a0
movzx eax, bl
push eax
push 0x4e2a
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, 1
jmp 0x50030b
mov eax, dword [0x611358]
mov ecx, esi
add eax, 0x1a457c
push eax
push ebx
push dword [esi + 0xc]
call fcn.00500b60
movzx eax, al
jmp 0x50030b
mov eax, dword [esi + 0x140]
mov ecx, dword [ebp + 0x10]
sub eax, dword [esi + 0x144]
mov edi, dword [esi + 0x148]
movzx edx, cx
cmp edx, 5
ja case.default.0x500295
jmp dword [edx*4 + 0x50035c]
test edi, edi
jle case.default.0x500295
mov dword [esi + 0x148], 0
jmp 0x5002c7
cmp edi, eax
jl 0x5002c1
xor eax, eax
jmp 0x50030b
test edi, edi
jg 0x5002a0
xor eax, eax
jmp 0x50030b
mov eax, ecx
shr eax, 0x10
mov dword [esi + 0x148], eax
push 1
push dword [esi + 0x148]
push 1
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SetScrollPos]
sub edi, dword [esi + 0x148]
push 0
push 0
push edi
push 0
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_ScrollWindow]
jmp 0x5002f9
cmp eax, 0x7f4
jne case.default.0x500295
push ebx
push dword [ebp + 0x10]
push 0x7f4
push dword [esi + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0052c233
mov esp, ebp
pop ebp
ret 0x10