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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
mov eax, dword [0x54300c]
xor eax, esp
mov dword [esp + 0x48], eax
mov edx, dword [ebp + 0xc]
mov eax, 0x804b
push ebx
push esi
movzx ebx, dx
push edi
mov edi, ecx
shr edx, 0x10
movzx ecx, bx
mov esi, ecx
mov dword [esp + 0xc], ebx
cmp esi, eax
ja 0x43108d
je case.0x430d14.32849
add eax, 0xffffffd6
cmp esi, eax
ja 0x430fa2
je case.0x430d14.32814
mov eax, 0x3fe
cmp esi, eax
ja 0x430df9
je 0x430dbf
lea eax, [esi - 1]
sub eax, 1
je 0x430db3
sub eax, 0x3e7
je 0x430d59
sub eax, 1
je 0x430d59
dec eax
sub eax, 1
je 0x430e4a
sub eax, 5
je 0x430d1b
sub eax, 6
je case.0x430fb8.32829
sub eax, 6
je 0x430e29
test dx, dx
jne 0x4315b9
lea eax, [esi - 0x802b]
cmp eax, 0x63
ja case.0x430d14.32818
movzx eax, byte [eax + 0x431656]
jmp dword [eax*4 + 0x4315f6]
test dx, dx
jne 0x4315d6
push 0x3f1
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea ecx, [esp + 0x44]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push dword [esp + 0x50]
lea ecx, [edi + 0x598]
push dword [esp + 0x50]
push dword [edi + 4]
call fcn.0042df28
jmp 0x4315d6
cmp dx, 1
jne 0x4315d6
lea ecx, [edi + 0x440]
mov eax, dword [ecx]
push 0xffffffffffffffff
call dword [eax + 8]
lea ecx, [edi + 0x46c]
mov dword [0x5493e8], eax
mov eax, dword [ecx]
push 0xffffffffffffffff
call dword [eax + 8]
xor ebx, ebx
mov dword [0x5493ec], eax
push ebx
mov ecx, edi
call fcn.00432a4b
mov ecx, dword [esp + 0xc]
mov edx, 0x3e9
movzx eax, cx
cmp ax, dx
jne 0x4315d6
push ebx
mov ecx, edi
call fcn.00431bad
jmp 0x4315d6
mov ecx, edi
call fcn.00432dc7
jmp 0x4315d6
test dx, dx
jne 0x4315d6
push eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea ecx, [esp + 0x44]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push dword [esp + 0x50]
lea ecx, [edi + 0x5a4]
push dword [esp + 0x48]
push dword [edi + 4]
call fcn.0042dc18
jmp 0x4315d6
mov eax, esi
sub eax, 0x403
je 0x430f2d
sub eax, 1
je 0x430edb
sub eax, 1
je 0x430e64
sub eax, 1
je 0x430e58
sub eax, 0x7c19
je 0x430e4a
sub eax, 1
jne case.0x4310a3.32860
xor ebx, ebx
mov ecx, edi
push 1
push ebx
mov byte [edi + 0x2c], bl
call fcn.0042ed3f
push ebx
push 4
mov ecx, 0x544a30
call fcn.00463e50
jmp 0x4315d6
push 1
mov ecx, edi
call fcn.00432a4b
jmp 0x4315d6
mov ecx, edi
call fcn.00431af0
jmp 0x4315d6
xor ebx, ebx
mov esi, ebx
cmp dword [edi + 0x68], ebx
jbe 0x430e98
mov ecx, ebx
mov dword [esp + 0xc], ebx
cmp esi, dword [edi + 0x68]
jae 0x4315ec
mov eax, dword [edi + 0x64]
add eax, ecx
push eax
call fcn.0046356d
mov ecx, dword [esp + 0xc]
inc esi
add ecx, 0x18
mov dword [esp + 0xc], ecx
cmp esi, dword [edi + 0x68]
jb 0x430e7c
call fcn.00402cbd
push eax
lea ecx, [esp + 0x10]
call fcn.00402161
lea esi, [edi + 0x98]
push ebx
mov ecx, esi
call fcn.00408aa2
lea ecx, [esp + 0xc]
push ecx
push eax
push ebx
mov ecx, esi
call fcn.004099f3
test eax, eax
jle 0x430f91
push ebx
lea eax, [esp + 0x10]
push eax
call fcn.00463f66
jmp 0x430f91
call fcn.004614a7
test al, al
jne 0x4315d6
call fcn.00402cbd
push eax
lea ecx, [esp + 0x10]
call fcn.00402161
lea eax, [esp + 0xc]
lea esi, [edi + 0x1c4]
push eax
mov ecx, esi
call fcn.00408b4b
test eax, eax
jne 0x430f25
xor ebx, ebx
mov ecx, esi
push ebx
call fcn.00408aa2
lea ecx, [esp + 0xc]
push ecx
push eax
push ebx
mov ecx, esi
call fcn.004099f3
lea ecx, [edi + 0x46c]
jmp 0x430f7d
call fcn.004614a7
test al, al
jne 0x4315d6
call fcn.00402cbd
push eax
lea ecx, [esp + 0x10]
call fcn.00402161
lea eax, [esp + 0xc]
lea esi, [edi + 0x98]
push eax
mov ecx, esi
call fcn.00408b4b
test eax, eax
jne 0x430f77
xor ebx, ebx
mov ecx, esi
push ebx
call fcn.00408aa2
lea ecx, [esp + 0xc]
push ecx
push eax
push ebx
mov ecx, esi
call fcn.004099f3
lea ecx, [edi + 0x440]
mov eax, dword [ecx]
push 0xffffffffffffffff
call dword [eax + 8]
push eax
lea eax, [esp + 0x10]
mov ecx, edi
push eax
call fcn.00431d05
mov ecx, dword [esp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004033d1
jmp 0x4315d6
lea eax, [esi - 0x8022]
cmp eax, 0x28
ja case.0x4310a3.32860
movzx eax, byte [eax + 0x4316ca]
jmp dword [eax*4 + 0x4316ba]
xor ebx, ebx
push ebx
push ebx
push 0x8131
push dword [edi + 0x24]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x4315d6
mov ecx, dword [esp + 0xc]
mov edx, 0x8038
movzx eax, cx
cmp ax, dx
je 0x431014
lea ecx, [edx + 7]
cmp ax, cx
je 0x431014
add esi, 0xffff7fbe
cmp esi, dword [edi + 0x514]
jae 0x431010
push esi
lea ecx, [edi + 0x510]
call fcn.0041e833
mov eax, dword [eax]
jmp 0x43102b
mov eax, ebx
jmp 0x43102b
cmp ax, dx
push ecx
sete al
movzx eax, al
push eax
push ecx
lea ecx, [edi + 0x4ec]
call fcn.0042c6cf
test eax, eax
je 0x4315d6
push ebx
push dword [eax]
call fcn.0045cdba
push 1
mov ecx, edi
call fcn.00432a4b
xor eax, eax
inc eax
jmp 0x4315d8
lea ebx, [edi + 0x440]
mov eax, dword [ebx]
mov ecx, ebx
push 0xffffffffffffffff
call dword [eax + 8]
mov edx, dword [edi + 0x46c]
lea ecx, [edi + 0x46c]
push 0xffffffffffffffff
mov esi, eax
call dword [edx + 8]
mov edx, dword [ebx]
mov ecx, ebx
push eax
call dword [edx + 4]
mov eax, dword [edi + 0x46c]
lea ecx, [edi + 0x46c]
push esi
call dword [eax + 4]
push 0
jmp 0x430da7
lea eax, [esi - 0x8053]
cmp eax, 0x48
ja case.0x4310a3.32860
movzx eax, byte [eax + 0x431722]
jmp dword [eax*4 + 0x4316f6]
xor ebx, ebx
lea eax, [ecx + 0x7f7e]
mov dl, 1
mov dword [esp + 0x44], ebx
lea ecx, [esp + 0x44]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
movzx esi, ax
call fcn.004248b6
cmp esi, eax
jae 0x4310ea
push esi
lea ecx, [esp + 0x48]
call fcn.0041ebf6
push 1
mov eax, dword [eax]
push dword [eax + 4]
call fcn.0045cdba
lea ecx, [esp + 0x44]
call fcn.0041ec15
mov ecx, edi
call fcn.00431d60
jmp 0x4315d6
cmp byte [0x549409], 0
sete al
movzx eax, al
push eax
jmp 0x431296
lea eax, [ecx + 0x7fad]
movzx eax, ax
cmp eax, dword [0x549540]
jae 0x4315d6
jmp 0x431543
mov eax, 0x8069
cmp cx, ax
mov ecx, edi
sete al
movzx eax, al
push eax
call fcn.00431fa3
jmp 0x431044
call dword [sym.imp.USER32.dll_GetFocus]
mov esi, eax
call fcn.00402cbd
push eax
lea ecx, [esp + 0x10]
call fcn.00402161
cmp esi, dword [edi + 0x2f4]
lea eax, [esp + 0xc]
push eax
lea esi, [edi + 0x2f0]
je 0x431177
lea esi, [edi + 0x1c4]
mov ecx, esi
call fcn.00408b4b
lea ecx, [esp + 0xc]
call fcn.0041b872
mov eax, dword [esp + 0xc]
xor ebx, ebx
cmp dword [eax - 0xc], ebx
jne 0x4311a8
push ebx
mov ecx, esi
call fcn.00408aa2
lea ecx, [esp + 0xc]
push ecx
push eax
push ebx
mov ecx, esi
call fcn.004099f3
lea ecx, [esp + 0xc]
call fcn.0041b872
mov eax, dword [esp + 0xc]
cmp dword [eax - 0xc], ebx
je 0x4311d0
push 1
lea eax, [esp + 0x10]
push eax
lea ecx, [edi + 0x98]
call fcn.00408924
mov eax, dword [esp + 0xc]
lea ecx, [eax - 0x10]
jmp 0x430f98
cmp byte [0x549417], 0
sete byte [0x549417]
jmp 0x431349
cmp byte [0x549418], 0
sete byte [0x549418]
jmp 0x431370
cmp byte [0x549419], 0
sete byte [0x549419]
jmp 0x431397
cmp byte [edi + 0x7c], 0
lea ecx, [edi + 0x78]
sete al
movzx eax, al
push eax
call fcn.00450f67
jmp 0x4315d6
push 0x802b
lea ecx, [edi + 0x598]
call fcn.0042db66
neg al
lea ecx, [edi + 0x98]
sbb al, al
inc al
mov byte [0x54941a], al
movzx eax, al
push eax
call fcn.0042ce7a
jmp 0x4315d6
push 0x802c
lea ecx, [edi + 0x598]
call fcn.0042db66
neg al
sbb al, al
inc al
mov byte [0x549408], al
jmp 0x4315d6
push 0x8034
lea ecx, [edi + 0x598]
call fcn.0042db66
neg al
sbb al, al
inc al
mov byte [esp + 0x10], al
push dword [esp + 0x10]
mov ecx, edi
call fcn.00431f0b
jmp 0x4315d6
push 0x802d
lea ecx, [edi + 0x598]
call fcn.0042db66
neg al
sbb al, al
inc al
mov byte [0x549414], al
jmp 0x4315d6
push 0x8063
lea ecx, [edi + 0x598]
call fcn.0042db66
neg al
sbb al, al
inc al
mov byte [0x549415], al
mov byte [edi + 0x15d], al
jmp 0x4315d6
push 0x8077
lea ecx, [edi + 0x598]
call fcn.0042db66
neg al
sbb al, al
inc al
mov byte [0x549416], al
mov byte [edi + 0x15c], al
jmp 0x4315d6
push 0x8075
lea ecx, [edi + 0x598]
call fcn.0042db66
neg al
sbb al, al
inc al
mov byte [0x549420], al
jmp 0x4315d6
push 0x8071
lea ecx, [edi + 0x598]
call fcn.0042db66
neg al
sbb al, al
inc al
mov byte [0x549417], al
mov ecx, edi
call fcn.00432613
jmp 0x4315d6
push 0x8064
lea ecx, [edi + 0x598]
call fcn.0042db66
neg al
sbb al, al
inc al
mov byte [0x549418], al
mov ecx, edi
call fcn.004327cc
jmp 0x4315d6
push 0x8065
lea ecx, [edi + 0x598]
call fcn.0042db66
neg al
sbb al, al
inc al
mov byte [0x549419], al
mov ecx, edi
call fcn.00432919
jmp 0x4315d6
push 0x806f
lea ecx, [edi + 0x598]
call fcn.0042db66
neg al
sbb al, al
inc al
mov byte [0x5493e0], al
jmp 0x4315d6
push 0x8070
lea ecx, [edi + 0x598]
call fcn.0042db66
neg al
sbb al, al
inc al
mov byte [0x5493e1], al
jmp 0x4315d6
mov eax, 0x8079
cmp bx, ax
jne 0x4313fc
mov dword [0x5493dc], 1
jmp 0x4315d6
mov ecx, 0x807a
xor eax, eax
cmp bx, cx
push 2
pop ecx
cmove eax, ecx
mov dword [0x5493dc], eax
jmp 0x4315d6
mov ecx, edi
call fcn.00431e9a
jmp 0x4315d6
mov ecx, edi
call fcn.00431eb9
jmp 0x4315d6
push 0
push 0x8010
push 0x111
push dword [edi + 0x24]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x4315d6
push 0
push 0x8007
jmp 0x431435
mov ecx, edi
call fcn.0042f2cc
jmp 0x4315d6
push 0
push 0x8008
jmp 0x431435
push 1
push 1
mov ecx, edi
call fcn.00431f5c
jmp 0x4315d6
xor ebx, ebx
mov dword [esp + 0x14], vtable.windows::LanguagesWindow.0
mov eax, vtable.controls::LanguagesComboSimple.0
mov dword [esp + 0x18], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push ebx
push ebx
lea ecx, [esp + 0x24]
mov esi, eax
call fcn.00403057
test eax, eax
jne 0x4314c6
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x4314ed
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.00421677
push ebx
push 0x41e211
push esi
push 0xbe
push dword [0x547da0]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
cmp dword [esp + 0x28], ebx
je 0x4315d6
push dword [esp + 0x28]
call fcn.004b324d
jmp 0x4315d6
push 0x808e
lea ecx, [edi + 0x5a4]
call fcn.0042db66
neg al
sbb al, al
inc al
mov byte [0x54941f], al
jmp 0x4315d6
mov eax, 0xea60
cmp cx, ax
jb 0x431558
mov eax, dword [0x549540]
add eax, 0xea60
cmp esi, eax
jae 0x431558
lea eax, [esi - 0xea60]
push eax
mov ecx, 0x54953c
call fcn.004338e0
push dword [eax + 4]
push dword [eax]
jmp 0x43146a
lea eax, [ecx + 0x153c]
cmp ax, 0xc
ja 0x4315d6
push 0x2c
lea eax, [esp + 0x1c]
mov dword [esp + 0x18], 0x30
push 0
push eax
call fcn.004b6620
add esp, 0xc
mov dword [esp + 0x18], 0x20
lea eax, [esp + 0x14]
push eax
push 1
lea eax, [esi - 0xeac4]
push eax
push dword [edi + 0x5b4]
call dword [sym.imp.USER32.dll_GetMenuItemInfoW]
push dword [esp + 0x34]
mov ecx, 0x544a30
push 3
call fcn.00463e50
push eax
mov ecx, edi
call fcn.0042ee9b
jmp 0x4315d6
mov eax, 0x300
cmp dx, ax
jne 0x4315d6
cmp dword [0x54916c], 0
jg 0x4315d6
push dword [ebp + 0x10]
mov ecx, edi
call fcn.00432377
xor eax, eax
mov ecx, dword [esp + 0x54]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004b3dd4
mov esp, ebp
pop ebp
ret 0x10
push 0x80070057
call fcn.0040345b
sub dword [edx], edx
inc ebx
add byte [eax + 0x12], bl
inc ebx
add byte [edx + 0x16004312], ah
adc al, 0x43
add byte [edx], ah
adc al, 0x43
add byte [ecx + 0x14], dl
inc ebx
add byte [ebp + 0x14], bl
inc ebx
add byte [eax + 0x12], bh
inc ebx
add byte [esi], ch
adc al, 0x43
add bl, dh
adc byte [ebx], al
adc al, 0x43
add byte [esi + 20], dh
inc ebx
add dl, al
adc al, byte [ebx]
push ebp
adc eax, dword [ebx]
jl 0x431643
inc ebx
add byte [eax + 0x14], cl
inc ebx
add byte [ebx - 0x3cffbced], ah
adc eax, dword [ebx]
adc eax, dword cs:[ebx]
push cs
adc eax, dword [ebx]
call 0xe343595d
adc eax, dword [ebx]
add eax, 0x25004315
adc eax, 16777283
add al, byte [ebx]
add al, 5
push es
pop ss
pop ss
pop es
or byte [edi], dl
or dword [edi], edx
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
or cl, byte [ebx]
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
or al, 13
push cs
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
lsl edx, word [edi]
adc byte [ecx], dl
adc dl, byte [edi]
pop ss
pop ss
adc edx, dword [edi]
adc al, 23
adc eax, 387388693
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
pop ss
push ss
and dl, byte [ebx + eax*2]
add byte [edi + 1275085583], bh
adc byte [ebx], al
cmc
or al, 67
add byte [eax], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ecx]
add eax, dword [ebx]
add eax, dword [ebx]
add al, byte [ebx]
add dword [ebx], eax
add eax, dword [ecx]
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
lea ecx, [ecx]
adc dl, byte [ecx]
inc ebx
add bl, dh
adc byte [ebx], al
sub al, 0x11
inc ebx
add al, bl
adc dword [ebx], eax
jmp 0x431719
add byte [ecx], dl
adc al, byte [ebx]
cmc
or al, 67
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or cl, byte [edx]
or al, byte [ecx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or al, byte [edx]
add cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
add eax, dword [eax + 168430090]
or cl, byte [edx]
or al, byte [esi]
or cl, byte [edx]
pop es
or cl, byte [edx]
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [edx], cl
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [edx]
or cl, byte [ecx]
xor edx, edx
mov dword [ecx], vtable.windows::LanguagesWindow.0
mov eax, vtable.controls::LanguagesComboSimple.0
mov dword [ecx + 4], edx
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x28], eax
mov eax, ecx
mov dword [ecx + 0x14], edx
mov dword [ecx + 0x18], edx
mov dword [ecx + 0x1c], edx
mov dword [ecx + 0x24], edx
mov dword [ecx + 0x2c], edx
ret